Bin pandas每X行数据帧

The*_*era 17 python binning dataframe pandas

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

它看起来像这样:

    col1
0      2
1      1
2      3
3      1
4      0
Run Code Online (Sandbox Code Playgroud)

我想把它变成这个:

    col1
0      2
1    0.5
Run Code Online (Sandbox Code Playgroud)

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

你能帮我吗?

非常感谢!

Rom*_*kar 37

>>> df.groupby(df.index / 3).mean()
   col1
0   2.0
1   0.5
Run Code Online (Sandbox Code Playgroud)

  • 我用最新的Python和Pandas版本得到0.000000 2,0.333333 1,0.6666667 3,1000000 1,1.3333333 0.可能与整数除法有关.*编辑*:是的,Python 3用户,使用`df.index // 3` (13认同)
  • 如此简单而优雅的解决方案! (2认同)

oju*_*unk 8

Roman Pekar的回答对我不起作用。我想,这是因为之间的差异Python2Python3。这对我有用Python3

>>> df.groupby(df.index // 3).mean()
   col1
0   2.0
1   0.5
Run Code Online (Sandbox Code Playgroud)