如何检查系列对象的元素是否大于标量值?

pandasserver side programmingprogramming更新于 2025/5/20 15:37:17

通过使用 pandas series.gt() 方法,我们可以检查系列对象的元素是否大于标量值。gt() 比较操作完全等同于 series > Other。

此处的"其他"可以是任何单个或多个元素数据结构,也可以是列表类对象,例如标量、序列或系列。

要检查给定系列与标量之间的"大于"比较操作,我们需要将标量值作为参数发送给 series.gt() 方法。

该方法返回一个系列,其结果为大于带有标量的系列。结果系列具有布尔值。它表示大于标量的元素为真。否则,它将显示 False。

示例 1

在下面的示例中,我们在元素系列对象和标量值"50"之间应用了大于条件操作。

# 导入包
import pandas as pd
import numpy as np

# 创建 pandas 系列
series = pd.Series([89, 48, np.nan, 57, 25, np.nan, 62])
print(series)

# 使用标量值应用 gt() 方法
result = series.gt(50)
print(result)

输出

输出如下 −

0    89.0
1    48.0
2    NaN
3    57.0
4    25.0
5    NaN
6    62.0
dtype: float64

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

将 Nan 与任何其他值进行比较时,输出将始终为 False。可以使用 fill_value 参数替换缺失值来纠正此问题。

示例 2

在下面的示例中,我们使用 fill_value 参数将缺失值 (Nan/NA) 替换为整数值 20。

# 导入包
import pandas as pd
import numpy as np

# 创建 pandas 系列
sr = pd.Series([1, np.nan, 11, 21, 31, 41, np.nan, 9])
print("Series object:")
print(sr)

# 通过替换缺失值使用标量值应用 gt() 方法
result = sr.gt(10, fill_value=20)
print("Output:")
print(result)

输出

输出如下 −

Series object:
0    1.0
1    NaN
2    11.0
3    21.0
4    31.0
5    41.0
6    NaN
7    9.0
dtype: float64

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

在上面的输出块中,我们可以观察到 Nan 值被替换为"20"。输出系列对象的第一个和最后一个元素小于标量值 10,其余元素均大于标量值。


相关文章