搜索并找不到这个问题的确切解决方案..
我想对一列的两行求和并形成一列
实施例..
ROW A
Z 1
Y 2
X 3
4
5
6
7
8
Desired
ROW A B
Z 1 3
Y 2 5
X 3 7
4 9
5 11
6 13
7 15
8
基本上我想把A列的Y和Z行加在一起,然后把它放到B列的Z行。
我正在玩索引+ 1分组但不能解决它的想法
答案 0 :(得分:1)
您还可以将rolling
与2
df.assign(B=df.A.rolling(2).sum().shift(-1))
A B
0 0 1.0
1 1 3.0
2 2 5.0
3 3 7.0
4 4 9.0
5 5 11.0
6 6 13.0
7 7 15.0
8 8 17.0
9 9 NaN
答案 1 :(得分:0)
您需要使用shift
:
输入:
df = pd.DataFrame({'A':np.arange(10)})
df['B'] = df.A + df.shift(-1).A
输出:
A B
0 0 1.0
1 1 3.0
2 2 5.0
3 3 7.0
4 4 9.0
5 5 11.0
6 6 13.0
7 7 15.0
8 8 17.0
9 9 NaN