按要求创建Dataframe df,并通过分组得到以下结果
① 以A分组,求出C,D的分组平均值
② 以A,B分组,求出D,E的分组求和
③ 以A分组,得到所有分组,以字典显示
④ 按照数值类型分组,求和
⑤ 将C,D作为一组分出来,并计算求和
⑥ 以B分组,求出每组的均值,求和,最大值,最小值
代码呈上:
import numpy as np
import pandas as pd
df=pd.DataFrame({"A":['one','two','three','one','two','three','one','two'],
"B":['h','h','h','h','f','f','f','f'],
'C':np.arange(10,25,2),
'D':np.random.rand(8)*2-1,
'E':np.random.rand(8),
})
print(df)
k_mean=df.groupby('A').mean()[['C','D']]
print(k_mean)
print('====================================')
k_mean2=df.groupby(['A','B']).sum()[['D','E']]
print(k_mean2)
print('==============================')
k_mean3=df.groupby('A').groups
print(k_mean3)
print('=========================')
for group,result in df.groupby(df.dtypes,axis=1):
print(group)
print(result.sum())
print('===============================')
print('\n',df[['C','D','E']].groupby({'C':'one','D':'one'},axis=1).sum())
print(df.groupby('B').agg({'C':['mean','sum','max','min'],
'D':['mean','sum','max','min'],
'E':['mean','sum','max','min']}))
2
3.
4.
5
6
新手博主,请前辈批评指正———@丁一