📜  Python| Pandas series.cummax() 查找系列的累积最大值

📅  最后修改于: 2022-05-13 01:55:30.064000             🧑  作者: Mango

Python| Pandas series.cummax() 查找系列的累积最大值

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas Series.cummax()用于查找系列的累积最大值。在累积最大值中,返回序列的长度与输入序列的长度相同,并且每个元素都等于当前元素和前一个元素之间的较大者。

示例 #1:
在此示例中,从Python列表创建了一个系列。该列表还包含一个 Null 值,并且skipna参数保持默认值,即 True。

# 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 
cummax = series.cummax() 
    
# display 
cummax

输出:

0    3.0
1    4.0
2    NaN
3    7.0
4    7.0
5    7.0
dtype: float64

说明: Cummax 是当前值与先前值的比较。第一个元素总是等于调用者系列的第一个。

3
4  (4>3)
NaN (Since NaN cannot be compared to integer values)
7  (7>4)
7  (7>2)
7  (7>0)


示例 #2:保持skipna = False

在此示例中,就像在上面的示例中一样创建一个系列。但是 skipna 参数保持为 False。因此 NULL 值不会被忽略,并且每次发生时都会进行比较。

# 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 
cummax = series.cummax(skipna = False) 
    
# display 
cummax 

输出:

0     9.0
1     9.0
2    33.0
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
dtype: float64

解释:就像上面的例子一样,当前和以前的最大值被存储在每个位置,直到出现 NaN。由于 NaN 与任何值比较返回 NaN 并且 skipna 参数保持为 False,由于将所有值与 NaN 进行比较,其出现后的累积最大值为 NaN。