cum系列函數(shù)旅急,都表示累計的意思牡整,包括
- cummax
- cummin
- cumsum
- cumprod
這四個函數(shù)很相似逃贝,參數(shù)什么的基本一致
pandas.DataFrame.cummax
DataFrame.cummax(self, axis=None, skipna=True, *args, **kwargs)
Return cumulative maximum over a DataFrame or Series axis.
就是求一個累計的最大值,類似SQL中的max over()這種開窗函數(shù)
小栗子
s = pd.Series([2, np.nan, 5, -1, 0])
s.cummax()
就是按照某個軸潦闲,以此選取其中最大的一個值
索引為1的是NaN歉闰,是因為本身元素值就是NaN卓起,默認其實是跳過NaN值的
df = pd.DataFrame([[2.0, 1.0],
[3.0, np.nan],
[1.0, 0.0]],
columns=list('AB'))
df.cummax()
默認是按照index來,也就是豎著來昼弟,一行一行
我們可以修改為axis=1
df.cummax(axis=1)
pandas.DataFrame.cummin
同上奕筐,這個就是取最小值的
DataFrame.cummin(self, axis=None, skipna=True, *args, **kwargs)
df.cummin()
因為默認是跳過NaN的离赫,所以,注意最大值旬盯、最小值都是NaN
df.cummin(skipna=False)
pandas.DataFrame.cumsum
DataFrame.cumsum(self, axis=None, skipna=True, *args, **kwargs)
這個就是累計求和的函數(shù)胖翰,sum over()
df.cumsum()
pandas.DataFrame.cumprod
DataFrame.cumprod(self, axis=None, skipna=True, *args, **kwargs)
累計求乘積
df.cumprod()