I want to add column values vertically from top to down
JavaScript
x
7
1
def add(x,y):
2
return x,y
3
4
df = pd.DataFrame({'A':[1,2,3,4,5]})
5
6
df['add'] = df.apply(lambda row : add(row['A'], axis = 1)
7
I tried using apply but its not working
Desired output is basically adding A column values 1+2, 2+3:
JavaScript
1
7
1
A add
2
0 1 1
3
1 2 3
4
2 3 5
5
3 4 7
6
4 5 9
7
Advertisement
Answer
You can apply rolling.sum
on a moving window of size 2:
JavaScript
1
9
1
df.A.rolling(2, min_periods=1).sum()
2
3
0 1.0
4
1 3.0
5
2 5.0
6
3 7.0
7
4 9.0
8
Name: A, dtype: float64
9