我在尝试解决以下问题时遇到了麻烦。我想添加每n列以保持列数。详细信息:
df = pd.DataFrame(np.arange(32).reshape((8, 4)))
0 1 2 3
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
4 16 17 18 19
5 20 21 22 23
6 24 25 26 27
7 28 29 30 31
每两行相加时,即索引(0、2、4、6)和(1、3、5、7)。结果应该是:
0 1 2
0 48 52 56
1 64 68 72
当然,这是一个简单的DataFrame,但是我必须在50000x5000矩阵中添加每1000行。在这种情况下,我将添加行(0、1000、2000,...),(1、1001、2001,...)等。结果应为50x5000 DataFrame。
非常感谢您的帮助。
答案 0 :(得分:1)
您需要的是groupby
index
和%
2
df.groupby(df.index%2).sum()# you may change the df.index to np.arange(len(df))
0 1 2 3
0 48 52 56 60
1 64 68 72 76