计算表中每 x 行的平均值并创建新表

新手上路,请多包涵

我有一个很长的数据表(约 200 行乘 50 列),我需要创建一个代码来计算每两行和表中每一列的平均值,最终输出是一个新的平均值表值。这在 Excel 中显然是疯狂的!我使用 python3 并且我知道一些类似的问题: 这里这里这里。但这些都没有帮助,因为我需要一些优雅的代码来处理多列并生成一个有组织的数据表。顺便说一下,我的原始数据表是使用 pandas 导入的,并被定义为数据框,但找不到在 pandas 中执行此操作的简单方法。非常感谢您的帮助。

该表的一个例子(简短版)是:

 a   b   c   d
2   50  25  26
4   11  38  44
6   33  16  25
8   37  27  25
10  28  48  32
12  47  35  45
14  8   16  7
16  12  16  30
18  22  39  29
20  9   15  47

期望均值表:

 a    b     c     d
3   30.5  31.5  35
7   35    21.5  25
11  37.5  41.5  38.5
15  10    16    18.5
19  15.5  27    38

原文由 Gnu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

您可以使用 df.index//2 创建人工组(或如@DSM 指出的那样,使用 np.arange(len(df))//2 - 以便它适用于所有索引),然后使用 groupby:

 df.groupby(np.arange(len(df))//2).mean()
Out[13]:
      a     b     c     d
0   3.0  30.5  31.5  35.0
1   7.0  35.0  21.5  25.0
2  11.0  37.5  41.5  38.5
3  15.0  10.0  16.0  18.5
4  19.0  15.5  27.0  38.0

原文由 ayhan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题