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。