我有一个简单的数据框,我想每3行bin。
看起来像这样:
col1
0 2
1 1
2 3
3 1
4 0
我想把它变成这个:
col1
0 2
1 0.5
我已经发布了类似问题here,但我不知道如何将解决方案移植到我当前的用例中。
你可以帮帮我吗?非常感谢!
答案 0 :(得分:31)
>>> df.groupby(df.index / 3).mean()
col1
0 2.0
1 0.5
答案 1 :(得分:4)
Roman Pekar的回答并不适合我。我想这是因为Python2
和Python3
之间存在差异。这在Python3
中适用于我:
>>> df.groupby(df.index // 3).mean()
col1
0 2.0
1 0.5
答案 2 :(得分:1)
对于启用了“真除法”(例如,通过使用from __future__ import division
)的Python 2.2+用户,您需要使用“ //”运算符进行“除法”:
df.groupby(df.index // 3).mean()