Pandas 如何在两个序列对象的元素上应用大于或等于操作
在pandas序列构造函数中,有一个叫做ge()的方法,用于在两个pandas序列对象的元素之间应用大于或等于比较操作。
这个方法的输出是一个新的序列对象,其值为布尔值(True或False)。如果为True,则表示元素大于或等于其他序列对象中的相应元素。对于其他值,它返回False。
这个ge()方法有三个参数,分别是fill_value、other和level。其中,other参数接受第二个输入(序列或标量),fill_value参数接受None或浮点数值,用于在执行方法时替换缺失值为指定的数据。
默认情况下,该参数会用NaN填充缺失值,level参数接受int或name,用于在级别上广播。
示例1
下面是一个示例,用于理解如何在Pandas中对两个序列对象的元素应用大于或等于操作。
# importing packages
import pandas as pd
import numpy as np
# Creating Pandas Series objects
series1 = pd.Series([1, np.nan, 12, np.nan, 86, 89], index=list("ABCDEG"))
print('First series object:',series1)
series2 = pd.Series([np.nan, np.nan, 2, 74, 72, 61], index=list("ABCDEF"))
print('Second series object:',series2)
# apply ge() method
result = series1.ge(series2)
print("Output:")
print(result)
解释
首先,我们使用pandas系列构造函数创建了两个pandas系列对象。然后,我们在它们之间应用了ge()方法。
输出
输出如下:
First series object:
A 1.0
B NaN
C 12.0
D NaN
E 86.0
G 89.0
dtype: float64
Second series object:
A NaN
B NaN
C 2.0
D 74.0
E 72.0
F 61.0
dtype: float64
Output:
A False
B False
C True
D False
E True
F False
G False
dtype: bool
我们可以观察到在上述输出块中,该方法已成功返回了给定两个序列对象进行大于等于比较操作的结果。
示例2
让我们以前面的示例为基础,这次使用ge()方法并将缺失值替换为整数1。
# importing packages
import pandas as pd
import numpy as np
# Creating Pandas Series objects
series1 = pd.Series([1, 12, np.nan, 86, 89], index=list("ABCDE"))
print('First series object:',series1)
series2 = pd.Series([32, 2, 74, 72, 61], index=list("ABCDF"))
print('Second series object:',series2)
# apply ge() method
result = series1.ge(series2, fill_value=1)
print("Output:")
print(result)
输出
以下是输出结果:
First series object:
A 1.0
B 12.0
C NaN
D 86.0
E 89.0
dtype: float64
Second series object:
A 32
B 2
C 74
D 72
F 61
dtype: int64
Output:
A False
B True
C False
D True
E True
F False
dtype: bool
pandas series.ge() 方法在执行时首先替换缺失值,然后进行比较。我们可以在上面的输出块中看到结果系列对象。