本文主要是介绍pandas.dataframe.groupby做量化知道这些就够了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
pandas.DataFrame.groupby官方文档
DataFrame.groupby(by=None, axis=0, level=None, as_index= True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)# return DataFrameGroupBy or SeriesGroupBy# as_index= True 默认用于分组的列被设置成,分组后再操作所得结果的index
df = pd.DataFrame({'Animal' : ['Falcon', 'Falcon','Parrot', 'Parrot'], 'Max Speed' : [380., 370., 24., 26.]})
df.groupby(by= ‘Animal’) 这个操作并不会真正改变df本身
df.groupby(‘Animal’).size() 对groupby之后每个组内进行操作,每个组内的数据行数
df.groupby(‘Animal’).get_group(‘Falcon’) 获取某一个分组
对list可用的函数都可以对df.groupby()操作,指的是对df.gruopby()之后的每一个分组进行操作
df.groupby(‘Animal’).describe()
df.groupby(‘Animal’).head() # 取每组数据的前5行
df.groupby(‘Animal’).tail()
df.groupby(‘Animal’).frist() # 取每组数据的第一行
df.groupby(‘Animal’).last()
df.groupby(‘Animal’).nth() # 取每组数据的指定某行
df.groupby(‘Animal’, as_index = False).nth() # 默认使用原来的index,不用’Animal’这一列作为index
groupby之后,也可以只取某几列进行操作
df.groupby(‘Animal’)[‘Falcon’].mean() 先完成groupby得到各组,再取各组内的[‘Falcon’]列,再对这一列求均值。
df.groupby(‘Animal’)[‘Falcon’].sum()
df.groupby(‘Animal’)[‘Falcon’].rank() 在组内排序
df.groupby(‘Animal’)[‘Falcon’].rank(pct= True) 排名的百分比
可以对一列分组,也可以对多列分组
df.loc[df[‘candle_begin_time’].dt.hour < 12, ‘时间’] = ‘上午’
df.groupby([‘symbol’, ‘时间’]).size() 先依据symbol分组,再在组内依据’时间’分组
对groupby后每个组进行遍历,遍历时对每一个group进行操作,操作完后再将group合并起来group.append()
for n, group in df.groupby():
print(n) 对应分组组名
print(group) 对应一个DataFrame
.
.
.
2019-03-12 22:09:36写于杭州
这篇关于pandas.dataframe.groupby做量化知道这些就够了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!