Pandas 中的 series.cummax() 方法是如何工作的?


pandas 的 Series.cummax() 方法用於查詢序列物件中元素的累積最大值。

輸出序列的長度與輸入序列物件的長度相同。輸出序列由 series.cummax() 方法返回,該方法包含累積最大值,而第一個元素保持不變。

此方法採用三個引數,即“axis”、“skipna”和附加關鍵字。“skipna”引數預設情況下排除 Nan/空值,如果將其設定為“False”,則它包含 Nan/空值。

示例 1

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
series = pd.Series([10,22,14,np.nan,41,12])
print(series)

print("Cumulative maximum: ",series.cummax())

解釋

在此示例中,我們使用 Python 列表建立了一個 pandas 序列。列表物件包含一個空值和一些整數值。然後,我們在不更改任何預設引數值的情況下應用了 cummax() 方法。

輸出

0 10.0
1 22.0
2 14.0
3  NaN
4 41.0
5 12.0
dtype: float64

Cumulative maximum:
0 10.0
1 22.0
2 22.0
3  NaN
4 41.0
5 41.0
dtype: float64

cummax 序列的第一個元素始終具有與原始序列相同的元素。預設情況下,cummax() 方法跳過 Nan 值的執行,因此位置 3 處的 Nan 值被忽略。

示例 2

# importing required packages
import pandas as pd
import numpy as np

# create a pandas Series object
series = pd.Series([6,23,78,np.nan,89,34])
print(series)

print("Cumulative maximum: ",series.cummax(skipna=False))

解釋

與前面的示例相同,這裡我們也初始化了一個 pandas 序列物件。並應用 cummax() 方法,並將 skipna 值從 True 設定為 False。這意味著在執行時它不會忽略 Null/Nan 值。

輸出

0  6.0
1 23.0
2 78.0
3  NaN
4 89.0
5 34.0
dtype: float64
Cumulative maximum: 0 6.0
1 23.0
2 78.0
3  NaN
4  NaN
5  NaN
dtype: float64

在 Nan 值之前,我們得到了累積最大元素。之後,我們只得到了 Nan 值,這是因為 NaN 與任何返回 NaN 的東西進行比較。

更新於: 2022年3月9日

256 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.