【发布时间】:2021-07-13 09:24:25
【问题描述】:
有没有办法以这些方式对数据框(*csv 文件)进行分组? 例如,我想为第一列选择十行的块来平均,然后我想对第二列做同样的事情,但不保留块,而是每隔 10 行分组一次。 例如。我想要以下的平均值:
1 1 3rd 4th
1 2 .. ..
1 3 .. ..
..
1 9 .. ..
1 10 .. ..
2 1 .. ..
2 2 .. ..
2 3 .. ..
因此选择第一列的第一个块来计算平均值,然后每 x 行计算第二列。
例如,来自像这样的 df...
241888 1 1
241888 2 1
241888 3 2
241888 4 2
241888 5 3
241888 6 3
241888 7 4
241888 8 4
241888 9 5
241888 10 5
665309 1 3
665309 2 3
665309 3 4
665309 4 4
665309 5 5
665309 6 5
665309 7 6
665309 8 6
665309 9 7
665309 10 7
然后
df.groupby('24188').mean()[3]
df.groupby('665309').mean()[3]
df.groupby('1' of the 2nd column).mean()[3]
df.groupby('10' of the 2nd column).mean()[3]
给出 3、5 2 和 6
【问题讨论】:
-
能否将示例数据框与示例输出共享?
-
我尝试添加一个示例。
标签: python-3.x pandas loops pandas-groupby average