Pandas中series.eq()方法的基本操作是什么?


Pandas构造函数中的series.eq()方法用于将给定序列的元素与其他元素(可能是另一个序列或标量值)进行比较。结果,它将返回一个包含布尔值的新序列对象。

元素级的相等运算通过使用eq()方法完成。布尔值True表示第二个序列对象中相等的值。其余不相等的值由布尔值False表示。

eq()方法的参数为other、fill_value和level。

示例1

在下面的示例中,我们将看到eq()方法如何将序列对象的元素与标量值进行比较。

# importing packages
import pandas as pd
import numpy as np

#create series
sr = pd.Series([24, 63, 21, np.nan, 24, 56, 24, 50])
print(sr)

# compare elements with a scalar value 24
result = sr.eq(24)
print(result)

解释

首先,我们使用整数列表和一些NaN值创建了一个Pandas Series。之后,我们使用标量值24应用了eq()方法。

输出

输出如下:

0    24.0
1    63.0
2    21.0
3     NaN
4    24.0
5    56.0
6    24.0
7    50.0
dtype: float64

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

运行上述代码后,我们将得到以下结果:eq()方法将序列对象的元素与值24进行比较。因此,索引位置0、4和6处的等值由True表示,其余全部由False表示。

示例2

像我们在前一个例子中所做的那样,这里我们将对2个序列对象应用eq()方法,而无需更改任何默认参数值。

# importing packages
import pandas as pd
import numpy as np

#create series
sr1 = pd.Series([np.nan, 61, 11, np.nan, 24, 56, 30, np.nan, 55])
print(sr1)

sr2 = pd.Series([0, 61, 22, np.nan, 24, 45, 30, 78, 93])
print(sr2)

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

输出

输出如下:

0     NaN
1    61.0
2    11.0
3     NaN
4    24.0
5    56.0
6    30.0
7     NaN
8    55.0
dtype: float64

0     0.0
1    61.0
2    22.0
3     NaN
4    24.0
5    45.0
6    30.0
7    78.0
8    93.0
dtype: float64

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

在上边的输出块中,我们可以看到两个输入序列对象sr1、sr2,以及eq()方法生成的序列对象。由于eq()方法不会对NaN值返回true,因此在索引位置3处表示值为False。

更新于:2022年3月7日

97 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告