Python | Pandas Series.cumsum() to find cumulative sum of a Series

Pandas Series.cumsum() is used to find Cumulative sum of a series. In cumulative sum, the length of returned series is same as input and every element is equal to sum of all previous elements.

Syntax: Series.cumsum(axis=None, skipna=True)

Parameters:
axis: 0 or ‘index’ for row wise operation and 1 or ‘columns’ for column wise operation
skipna: Skips NaN addition for elements after the very next one if True.

Result type: Series

Example #1:
In this example, a series is created from a Python list using Pandas .Series() method. The list also contains a Null value and the skipna parameter is kept default, that is True.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing pandas module
import pandas as pd
  
# importing numpy module
import numpy as np
  
# making list of values
values = [3, 4, np.nan, 7, 2, 0]
  
# making series from list
series = pd.Series(values)
  
# calling method
cumsum = series.cumsum()
  
# display
cumsum

chevron_right


Output:

3
7
NaN
14
16
16
dtype: float64

Explanation
Cumulative sum is sum of current and all previous values. As shown in above output, the addition was done as follows

3
3+4 = 7
7+NaN = NaN
7+7 = 14
14+2 = 16
16+0 = 16

 
Example #2: skipna=False
In this example, a series is created just like in the above example. But the skipna parameter is kept False. Hence NULL values won’t be ignored and it would be added every time after it’s occurrence.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing pandas module
import pandas as pd
  
# importing numpy module
import numpy as np
  
# making list of values
values = [1, 20, 13, np.nan, 0, 1, 5, 23]
  
# making series from list
series = pd.Series(values)
  
# calling method
cumsum = series.cumsum(skipna = False)
  
# display
cumsum

chevron_right


Output:

0     1.0
1    21.0
2    34.0
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
dtype: float64

Explanation: As it can be seen in output, all the values after first occurrence of NaN are also NaN since any number + NaN is also NaN.



My Personal Notes arrow_drop_up

Developer in day, Designer at night GSoC 2019 with Python Software Foundation (EOS Design system)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.