Apply Function On Cumulative Values Of Pandas Series
Is there an equivalent of rolling_apply in pandas that applies function to the cumulative values of a series rather than the rolling values? I realize cumsum, cumprod, cummax, and
Solution 1:
You can use pd.expanding_apply
. Below is a simple example which only really does a cumulative sum, but you could write whatever function you wanted for it.
import pandas as pd
df = pd.DataFrame({'data':[10*i for i inrange(0,10)]})
defsum_(x):
returnsum(x)
df['example'] = pd.expanding_apply(df['data'], sum_)
print(df)
# data example#0 0 0#1 10 10#2 20 30#3 30 60#4 40 100#5 50 150#6 60 210#7 70 280#8 80 360#9 90 450
Post a Comment for "Apply Function On Cumulative Values Of Pandas Series"