pandas练习题

94 阅读1分钟

按要求创建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在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

新手博主,请前辈批评指正———@丁一