如何使用gt()函数比较两个Pandas Series对象?


在pandas序列构造函数中,有一个名为gt()的方法,用于在两个pandas序列对象元素之间应用“大于”条件。

gt()方法的结果基于对两个序列对象元素的比较。该操作等同于“被调用序列的元素 > 传入序列的元素”。

生成的序列对象填充布尔值(True或False)。True值表示被调用序列的元素大于传入序列的元素。False则相反。

示例1

下面是一个使用gt()函数通过应用“大于”条件来比较两个Pandas序列对象的示例。

# 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

在下面的示例中,我们通过用整数值10替换缺失值来应用gt()方法。

# 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()方法在执行函数时首先替换缺失值,然后执行比较操作。

更新于:2022年3月7日

2K+浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告