pandas series.equals() 方法如何处理空值?

在一个系列对象中缺失值是很常见的,如果你想比较那种类型的系列对象那么普通的比较是行不通的,因为nan!= nan,这种情况下,我们可以使用该equals()方法。该equals()方法认为Nan在同一位置是相等的。

pandas方法的基本操作用于比较两个系列的相等性。如果两个系列具有相同的元素和形状,则返回 True,如果两个系列不相等,则返回 False。series.equals()

示例 1

在以下示例中,将两个系列对象 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("第一个系列对象:",series1)

# create pandas Series2

series2 = pd.Series([67, 18, np.nan, 50, 39])

print("第二系列对象:",series2)

result = series1.equals(series2)

print("Result:", result)

解释

由于系列对象完全相似,并且在同一位置的两个系列对象中存在一个 nan 值。

输出结果

输出如下所述 -

第一个系列对象:

0    67.0

1    18.0

2     NaN

3    50.0

4    39.0

dtype: float64

第二系列对象:

0    67.0

1    18.0

2     NaN

3    50.0

4    39.0

dtype: float64

Result: True

这里两个系列对象完全相似,具有相同的数据类型,该equals()方法返回 True 作为结果。此外,您可以看到,如果 NaN 出现在同一位置,则它们被视为相等。

示例 2

equals()在以下示例中,通过应用该方法验证两个系列对象 series1 和 series2 是否相等。

import pandas as pd

import numpy as np

# create pandas Series1

series1 = pd.Series([92, 68, 65, np.nan])

print("第一个系列对象:",series1)

# create pandas Series2

series2 = pd.Series(['92', '68', '65', np.nan])

print("第二系列对象:",series2)

result = series1.equals(series2)

print("结果 :", result)

解释

这里的系列对象相似,但元素的数据类型不同。

输出结果

输出如下 -

第一个系列对象:

0    92.0

1    68.0

2    65.0

3     NaN

dtype: float64

第二系列对象:

0     92

1     68

2     65

3    NaN

dtype: object

Result: False

对于上面给出的示例,相等函数equals()返回 False。因为两个系列对象中元素的数据类型不一样。

以上是 pandas series.equals() 方法如何处理空值? 的全部内容, 来源链接: utcz.com/z/297245.html

回到顶部