在Pandas中总结一行的两行

时间:2017-05-23 14:50:08

标签: python pandas dataframe

搜索并找不到这个问题的确切解决方案..

我想对一列的两行求和并形成一列

实施例..

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分组但不能解决它的想法

2 个答案:

答案 0 :(得分:1)

您还可以将rolling2

窗口一起使用
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