如何使用另一个序列对象对 Pandas 序列对象应用地板除法?


Pandas 序列构造器中的 floordiv() 方法用于执行两个序列对象的整数除法(逐元素除法运算),地板除法运算也称为整数除法,它等效于 Python 中的 //。该方法支持替换任何输入中的缺失值。

该方法返回一个包含结果值的序列,并且该方法具有 3 个参数:fill_value、other 和 level。other 参数只是第二个输入对象,可以是序列或标量。

fill_value 参数用于在执行 floordiv() 方法时替换缺失值位置的特定值;默认情况下,它将用 Nan 填充缺失值。

示例 1

在这个例子中,我们将使用 floordiv() 方法在两个序列对象之间应用整数除法运算,而无需更改任何默认参数值。

# import pandas packages
import pandas as pd

# Creating Pandas Series objects
series1 = pd.Series([57, 47, 81, 88, 43], index=['A', 'B', 'C', 'D', 'E'])
print('First series object:',series1)

series2 = pd.Series([1, 5, 4, 7, 9], index=['A', 'B', 'C', 'D', 'F'])
print('Second series object:',series2)

# apply floor division
print("Floordiv of Series1 and Series2:", series1.floordiv(series2))

输出

输出如下:

First series object:
A    57
B    47
C    81
D    88
E    43
dtype: int64

Second series object:
A    1
B    5
C    4
D    7
F    9
dtype: int64

Floordiv of Series1 and Series2:
A    57.0
B    9.0
C    20.0
D    12.0
E    NaN
F    NaN
dtype: float64

在上面的输出块中,我们可以看到两个输入序列对象以及结果序列对象。在结果序列中,存在两个 Nan 元素,因为第二个序列对象中没有索引位置“E”的值,而被调用序列对象中也没有标签“F”。

示例 2

与前面的示例一样,我们创建了两个带有标记索引的 Pandas 序列。之后,我们使用 fill_value 参数应用 floordiv() 方法。

# import pandas packages
import pandas as pd

# Creating Series objects
series1 = pd.Series([10, 14, 82, 49, 82], index=['A', 'B', 'C', 'D', 'E'])
print('First series object:')
print(series1)

series2 = pd.Series([2, 6, 4, 4, 5], index=['A', 'B', 'C', 'D', 'F'])
print('Second series object:')
print(series2)

# Apply the floordiv method
print("Floordiv of Series1 and Series2:")
print(series1.floordiv(series2, fill_value=10))

输出

输出如下:

First series object:
A    10
B    14
C    82
D    49
E    82
dtype: int64

Second series object:
A    2
B    6
C    4
D    4
F    5
dtype: int64

Floordiv of Series1 and Series2:
A    5.0
B    2.0
C    20.0
D    12.0
E    8.0
F    2.0
dtype: float64

我们可以观察到输出序列对象中的 Nan 值被替换为 10。

更新于:2022年3月7日

浏览量:113

启动您的职业生涯

完成课程获得认证

开始学习
广告