Python | Pandas series.cumprod() to find Cumulative product of a Series
Last Updated :
20 Nov, 2018
Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages.
Pandas is one of those packages and makes importing and analyzing data much easier.
Pandas
Series.cumprod()
is used to find Cumulative product of a series. In cumulative product, the length of returned series is same as input series and every element is equal to the product of current and all previous values.
Syntax: Series.cumprod(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.
Return type: Series
Example #1:
In this example, a series is created from a Python list. The list also contains a Null value and the
skipna
parameter is kept default, that is True.
Python3 1==
# importing pandas module
import pandas as pd
# importing numpy module
import numpy as np
# making list of values
values = [2, 10, np.nan, 4, 3, 0, 1]
# making series from list
series = pd.Series(values)
# calling method
cumprod = series.cumprod()
# display
cumprod
Output:
0 2.0
1 20.0
2 NaN
3 80.0
4 240.0
5 0.0
6 0.0
dtype: float64
Explanation: Cumprod is multiplication of current and all previous values.hence, the first element is always equal to first of caller series.
2
20 (2 x 10)
NaN (20 x NaN = NaN, Anything multiplied with NaN returns NaN)
80 (20 x 4)
240 (80 x 3)
0 (240 x 0)
0 (0 x 1)
Example #2: Keeping 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 compared every time on it’s occurrence.
Python3 1==
# importing pandas module
import pandas as pd
# importing numpy module
import numpy as np
# making list of values
values = [9, 4, 33, np.nan, 0, 1, 76, 5]
# making series from list
series = pd.Series(values)
# calling method
cumprod = series.cumprod(skipna = False)
# display
cumprod
Output:
0 9.0
1 36.0
2 1188.0
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
dtype: float64
Explanation: Just like in the above example, product of current and all previous values was returned at every position. Since NaN Multiplied with anything is also NaN, and skipna parameter was kept False, Hence all values after occurrence of NaN are also NaN.
Similar Reads
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 o
2 min read
Python | Pandas Series.cummin() to find cumulative minimum of a series Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier. Pandas Series.cummin() is used to find Cumulative minimum of a series. In cumulative m
2 min read
Python | Pandas series.cummax() to find Cumulative maximum of a series Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier. Pandas Series.cummax() is used to find Cumulative maximum of a series. In cumulative m
3 min read
Cumulative percentage of a column in Pandas - Python Cumulative Percentage is calculated by the mathematical formula of dividing the cumulative sum of the column by the mathematical sum of all the values and then multiplying the result by 100. This is also applicable in Pandas Data frames.Here, the pre-defined cumsum() and sum() functions are used to
1 min read
Cumulative sum of a column in Pandas - Python Cumulative sum of a column in Pandas can be easily calculated with the use of a pre-defined function cumsum(). Syntax: cumsum(axis=None, skipna=True, *args, **kwargs)Parameters: axis: {index (0), columns (1)} skipna: Exclude NA/null values. If an entire row/column is NA, the result will be NARetur
2 min read
Add a Pandas series to another Pandas series Let us see how to add a Pandas series to another series in Python. This can be done using 2 ways: append()concat() Method 1: Using the append() function: It appends one series object at the end of another series object and returns an appended series. The attribute, ignore_index=True is used when we
2 min read