Pandas 中 series.equals() 方法如何處理空值?
在 Series 物件中存在缺失值是很常見的,如果您想比較這種型別的 Series 物件,則普通的比較不起作用,因為 nan != nan,在這種情況下,我們可以使用 equals() 方法。equals() 方法認為相同位置的 Nan 相等。
Pandas series.equals() 方法的基本操作用於比較兩個 Series 是否相等。如果兩個 Series 具有相同的元素和形狀,則返回 True,如果兩個 Series 不相等,則返回 False。
示例 1
在下面的示例中,將兩個 Series 物件 series1 和 series2 應用於 equals() 方法以比較相等性。
# importing pandas package
import pandas as pd
import numpy as np
# create pandas Series1
series1 = pd.Series([67, 18, np.nan, 50, 39])
print("First series object:",series1)
# create pandas Series2
series2 = pd.Series([67, 18, np.nan, 50, 39])
print("second series object:",series2)
result = series1.equals(series2)
print("Result:", result)解釋
由於 Series 物件完全相同,並且在兩個 Series 物件的相同位置存在一個 nan 值。
輸出
輸出如下所示:
First series object: 0 67.0 1 18.0 2 NaN 3 50.0 4 39.0 dtype: float64 Second series object: 0 67.0 1 18.0 2 NaN 3 50.0 4 39.0 dtype: float64 Result: True
這裡兩個 Series 物件完全相同,資料型別相同,equals() 方法返回 True 作為結果。此外,您可以看到,如果 NaN 出現在相同的位置,則它們被視為相等。
示例 2
在下面的示例中,透過應用 equals() 方法驗證兩個 Series 物件 series1 和 series2 的相等性。
import pandas as pd
import numpy as np
# create pandas Series1
series1 = pd.Series([92, 68, 65, np.nan])
print("First series object:",series1)
# create pandas Series2
series2 = pd.Series(['92', '68', '65', np.nan])
print("second series object:",series2)
result = series1.equals(series2)
print("Result :", result)解釋
這裡的 Series 物件相似,但元素的資料型別不同。
輸出
輸出如下所示:
First series object: 0 92.0 1 68.0 2 65.0 3 NaN dtype: float64 Second series object: 0 92 1 68 2 65 3 NaN dtype: object Result: False
對於上面給出的示例,相等函式 equals() 返回 False。因為兩個 Series 物件中元素的資料型別不同。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP