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

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)

解释

由于系列对象完全相似,并且两个系列对象在相同位置上存在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

在这里,两个系列对象完全相似,拥有相同的数据类型,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("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)

解释

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

输出

下面是输出结果:

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。因为两个系列对象中元素的数据类型不同。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记