我有一个包含600列(df1)的pandas数据帧,我希望将每列的值加总为6个 . 换句话说,我想创建一个包含100列的新数据帧(df2),每列都是输入数据帧中的6列之和 . 例如,df2中第一列的每一行将是df1中前六列的总和(保持行分开) . 我正在使用的数据帧也有每个列名的字符串值(这里只用单个字母表示)
对于df1:
A B C D E F G H I J ...
0 9 6 3 4 7 7 6 0 5 2 ...
1 8 0 6 6 0 5 6 5 8 7 ...
2 9 0 7 2 9 5 3 2 1 7 ...
3 5 2 9 6 7 0 3 8 5 0 ...
4 7 1 0 7 4 0 2 0 5 8 ...
5 0 9 2 0 4 9 5 7 6 2 ...
我希望df2的第一列是:
A G ...
0 36
1 25
2 32
3 29
4 19
5 24
其中每一行是该行前六列的总和 . 接下来的列将是接下来的六列的总和,依此类推,列名是每组6中第一列的名称 . (第一列名称是第一列,第二列名称是第七列专栏等)
我已经尝试使用列索引来汇总正确的列,但是我在找到一种方法来存储具有相关名称的新列中的问题时遇到了问题 .
是否有pythonic方法来创建这些列,并将列名称从df拉入df2?
1 回答
您可以按
df.columns //6
和sum创建的组的列(axis=1
)groupby:编辑:
您可以从
range
和shape(获取列的长度)创建Index
并在groupby
中使用它: