Pandas 如何检查一个系列对象的元素是否大于单个值
通过使用pandas序列.gt()方法,我们可以检查一个系列对象的元素是否大于单个值。gt()比较操作与series > Other完全等价。
在这里,“other”可以是任何单个或多个元素的数据结构,或者类似列表的对象,例如标量、序列或者系列。
要检查给定系列的元素与标量之间的比较操作,我们需要将标量值作为参数发送给series.gt()方法。
该方法返回一个与系列和标量的大于比较结果相对应的系列。结果系列具有布尔值。对于大于标量的元素,它表示为true。否则,它将表示为false。
示例1
在下面的示例中,我们将大于条件操作应用于系列对象的元素和标量值“50”之间。
# importing packages
import pandas as pd
import numpy as np
#create pandas series
series = pd.Series([89, 48, np.nan, 57, 25, np.nan, 62])
print(series)
# apply gt() method with a scalar value
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
在下面的示例中,我们将缺失值(NaN/NA)用整数值20替换,使用fill_value参数。
# importing packages
import pandas as pd
import numpy as np
#create pandas series
sr = pd.Series([1, np.nan, 11, 21, 31, 41, np.nan, 9])
print("Series object:")
print(sr)
# apply gt() method using a scalar value by replacing missing values
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相比较小,而其余的元素都大于标量值。