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。
广告