Pandas 如何使用gt()函数通过应用大于条件比较两个Series对象
在pandas series构造函数中,有一个称为gt()的方法,用于在两个pandas series对象的元素之间应用大于条件。
gt()方法的结果是基于两个系列对象的元素之间的比较。操作等于“called_series的元素>passed_series的元素”。
结果系列对象被填充有布尔值(True或False)。True值表示called_series的元素大于passed_series的元素。False相反。
示例1
以下是使用gt()函数应用大于条件来比较两个Pandas series对象的示例:
# importing packages
import pandas as pd
import numpy as np
# Creating Pandas Series objects
series1 = pd.Series([34, np.nan, 82], index=['x', 'y', 'z'])
print('First series object:',series1)
series2 = pd.Series([np.nan, 12, 76], index=['x', 'y', 'z'])
print('Second series object:',series2)
# apply gt() method
result = series1.gt(series2)
print("Output:")
print(result)
解释
首先,我们使用一个整数列表创建了两个pandas系列对象,系列的元素包含一些NaN值。
输出
输出如下所示:
First series object:
x 34.0
y NaN
z 82.0
dtype: float64
Second series object:
x NaN
y 12.0
z 76.0
dtype: float64
Output:
x False
y False
z True
dtype: bool
我们已经使用gt()方法比较了两个系列对象的元素,并且我们没有替换缺失值,这就是为什么在输出系列的x、y标签元素上得到了False。
示例2
在下面的示例中,我们已经使用gt()方法,并用整数值10替换了缺失值。
# importing packages
import pandas as pd
import numpy as np
# Creating Pandas Series objects
series1 = pd.Series([100, 12, np.nan, 86], index=list("ABCD"))
print('First series object:',series1)
series2 = pd.Series([32, np.nan, 74, 61], index=list("ABCD"))
print('Second series object:',series2)
# apply gt() method
result = series1.gt(series2, fill_value=10)
print("Output:")
print(result)
输出
输出结果如下:
First series object:
A 100.0
B 12.0
C NaN
D 86.0
dtype: float64
Second series object:
A 32.0
B NaN
C 74.0
D 61.0
dtype: float64
Output:
A True
B True
C False
D True
dtype: bool
gt() 方法在执行函数时首先替换缺失的值,然后执行比较操作。