是否有一种方法可以按系列df
对数据帧s
进行分组,而不必先将s
添加到df
上?
我问的原因是因为
df.assign(bin=pd.cut(df[what],n)).groupby('bin')
似乎要创建完整副本,并且有时需要太多内存。
答案 0 :(得分:1)
您可以使用
df.groupby(pd.Serise(pd.cut(df[what],n),index=df.index))
更多信息
df.groupby(pd.Series(pd.cut(df.c1,3),index=df.index)).sum()
Out[156]:
c1 c2 c3
c1
(0.994, 3.0] 6 13 13
(3.0, 5.0] 0 0 0
(5.0, 7.0] 13 10 7
df
Out[154]:
c1 c2 c3
0 7 5 2
1 1 2 2
2 3 4 3
3 1 4 6
4 1 3 2
5 6 5 5