使用 series.eq() 方法比較兩個 Series 物件時,如何處理空值?


Pandas 的 series.eq() 方法用於將給定 Series 的每個元素與傳遞的引數(另一個 Series 物件或標量值)進行比較。對於每個等於另一個 Series 物件(傳遞的 Series 物件)中元素的元素,它將返回 True。

eq() 方法的輸出是一個包含布林值的 Series,它執行逐元素比較操作,這與呼叫者 Series = 另一個 Series 相同。在結果 Series 中,True 值表示另一個 Series 物件中存在等效值,而 False 值表示不等值。

使用此 eq() 方法處理空值是一個非常簡單的過程,只需提供 fill_value 引數即可。預設情況下,此引數對缺失值採用 None。

示例 1

在下面的示例中,我們將看到 eq() 方法如何處理缺失值。

# importing packages
import pandas as pd
import numpy as np

#create series
sr = pd.Series([np.nan, 76, 20, 51, np.nan, 26, 83, np.nan, 18])
print(sr)

# compare elements with a scalar value 20 and replacing NAN values with 20
result = sr.eq(20, fill_value=20)
print(result)

解釋

最初,我們使用整數列表和一些 NaN 值建立了一個 Pandas Series。之後,我們使用 eq() 方法將 Series 物件 sr 與值 20 進行比較,並將值 20 應用於 fill_value 引數以處理缺失值。

輸出

輸出如下所示:

0     NaN
1    76.0
2    20.0
3    51.0
4     NaN
5    26.0
6    83.0
7     NaN
8    18.0
dtype: float64

0     True
1    False
2     True
3    False
4     True
5    False
6    False
7     True
8    False
dtype: bool

最初,eq() 方法用指定的 fill_value(即 20)替換缺失值。之後,它將在被呼叫 Series 物件和傳遞的物件之間執行比較操作。

示例 2

與前面的示例相同,這裡 eq() 方法將比較兩個 Series 物件,並用 fill_value 引數指定的值 5 替換缺失值。

# importing packages
import pandas as pd
import numpy as np

#create series
sr1 = pd.Series([26, np.nan, 18, np.nan, 94, 71, 5, np.nan, 68, 54, 88, 7, np.nan])
print(sr1)

sr2 = pd.Series([26, 29, np.nan, 11, 82, 93, np.nan, 7, 68, 29, 88,
87, np.nan])
print(sr2)

# compare two series objects
result = sr1.eq(sr2, fill_value=5)
print(result)

輸出

輸出如下所示:

0    26.0
1     NaN
2    18.0
3     NaN
4    94.0
5    71.0
6     5.0
7     NaN
8    68.0
9    54.0
10   88.0
11    7.0
12    NaN
dtype: float64

0    26.0
1    29.0
2     NaN
3    11.0
4    82.0
5    93.0
6     NaN
7     7.0
8    68.0
9    29.0
10   88.0
11   87.0
12    NaN
dtype: float64

0    True
1   False
2   False
3   False
4   False
5   False
6    True
7   False
8    True
9   False
10   True
11  False
12  False
dtype: bool

以上輸出顯示 eq() 方法返回一個包含布林值的新 Series 物件。在兩個 Series 物件中的值相等的地方返回 True 值。此外,我們還可以看到空值被替換為 5,並且使用該值 5 進行了比較。

更新於: 2022-03-07

430 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.