【发布时间】:2021-12-24 05:31:51
【问题描述】:
由于我没有足够高的声誉,我无法对原始问题发表评论,但我参考了这个问题DataFrames - Average Columns,特别是这行代码:
dfgrp= df.iloc[:,2:].groupby((np.arange(len(df.iloc[:,2:].columns)) // 2) + 1, axis=1).mean().add_prefix('ColumnAVg')
当我读到它时,从第 2 列开始取出所有行,按相同行和列的长度分组某事某事在列上,而不是行上,获取这些列的平均值,然后添加到名为 ColumnAVg1/2/3 等的新列。
我也知道这取 1&2、3&4、5&6 等列的平均值,但我不知道它是怎么做的。
所以我的问题是,上面的代码需要改变什么来获得第 1&2、2&3、3&4、4&5 等列的平均值,结果格式相同?
【问题讨论】:
-
(np.arange(len(df.iloc[:,2:].columns)) // 2) + 1 为每一列提供了一个键,该键用于对列进行分组轴=1。所以这里基本上你的列标记为 [0, 0, 1, 1, 2, 2, ...]
-
感谢@DaveQ,但这是我不明白的那部分代码。平均列 1&2、3&4 等是什么意思?那么我该如何改变它以给出 [1&2, 2&3, 3&4...] 的平均值 它的哪一部分给出了列 [0,0,1,1,2,2,...] - 这意味着什么?我怎么读?
-
我只会给出一个答案,虽然可能不是一个很好的答案。