20

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

它看起来像这样:

    col1
0      2
1      1
2      3
3      1
4      0

我想把它变成这样:

    col1
0      2
1    0.5

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

你能帮我吗?

非常感谢!

4

3 回答 3

43

在 Python 2 中使用:

>>> df.groupby(df.index / 3).mean()
   col1
0   2.0
1   0.5
于 2013-11-24T20:09:34.270 回答
19

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

>>> df.groupby(df.index // 3).mean()
   col1
0   2.0
1   0.5
于 2018-06-08T08:26:43.417 回答
4

对于 Python 2 (2.2+) 用户,启用了“真除法”(例如使用 from __future__ import division),您需要使用“//”运算符来表示“地板除法”:

df.groupby(df.index // 3).mean()
于 2018-08-27T09:39:50.743 回答