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