Bin pandas每X行数据帧

时间:2013-11-24 20:06:56

标签: python pandas dataframe binning

我有一个简单的数据框,我想每3行bin。

看起来像这样:

    col1
0      2
1      1
2      3
3      1
4      0

我想把它变成这个:

    col1
0      2
1    0.5

我已经发布了类似问题here,但我不知道如何将解决方案移植到我当前的用例中。

你可以帮帮我吗?

非常感谢!

3 个答案:

答案 0 :(得分:31)

>>> df.groupby(df.index / 3).mean()
   col1
0   2.0
1   0.5

答案 1 :(得分:4)

Roman Pekar的回答并不适合我。我想这是因为Python2Python3之间存在差异。这在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()