如何使用pandas groupby函数将函数应用于numpy数组
发布于 2021-01-29 15:01:16
我对熊猫还很陌生,所以我希望这将是一个简单的答案(我也感谢所有指向数据框设置的指针)
假设我有以下DataFrame:
D = pd.DataFrame({ i:{ "name":str(i),
"vector": np.arange(i,i+10),
"sq":i**2,
"gp":i%3 } for i in range(10) }).T
gp name sq vector
0 0 0 0 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1 1 1 1 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2 2 2 4 [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
3 0 3 9 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
4 1 4 16 [4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
5 2 5 25 [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
6 0 6 36 [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
7 1 7 49 [7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
8 2 8 64 [8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
9 0 9 81 [9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
现在,我想按“ gp”分组并获取“ vector”的均值
我试过了
D.groupby('gp').mean()
乃至
D.groupby('gp').agg( np.mean )
但我收到一个错误,没有要聚合的“数字类型”。那么np.arrays在熊猫中不起作用吗?
关注者
0
被浏览
80
1 个回答