我的数据框看起来像这样(两列col1,col2)
1 100
2 150
3 170
1 200我想按col1分组,
pd.DataFrame(combined.groupby('col1').aggregate(np.mean)['col2'])这是返回一个只有一个关键字col2的数据帧,实际上,我希望输出是这样的(两列数据帧)
col1,mean(col2), 谁能指出我需要做些什么才能做到这一点?
发布于 2016-04-08 12:17:33
您可以将groupby与聚合mean和reset_index一起使用
print df.groupby('col1')['col2'].mean().reset_index()
col1 col2
0 1 150
1 2 150
2 3 170带有参数as_index=False的groupby解决方案,如前面提到的John Galt
print df.groupby('col1', as_index=False)['col2'].mean()
col1 col2
0 1 150
1 2 150
2 3 170使用aggregate的解决方案
print df.groupby('col1', as_index=False).aggregate({'col2':'mean'})
col1 col2
0 1 150
1 2 150
2 3 170Aggregation in docs
https://stackoverflow.com/questions/36491366
复制相似问题