如何用标量对 pandas 系列进行整数除法?
pandasserver side programmingprogramming更新于 2025/5/20 22:22:17
整数除法运算也称为向下取整除法,相当于 python 中的 //。它是一个二元运算,只不过是一个逐元素除法运算,返回一个新值。
在 pandas 系列类中,有一个名为 floordiv() 的方法,它在系列对象和标量之间执行逐元素整数除法运算。此方法还可用于在两个系列对象之间执行向下取整除法。
此方法的输出是一个带有运算结果的新系列。它有 3 个参数,分别是 fill_value、other 和 level。另一个参数只是第二个输入(其他系列或标量)。 fill_value 参数用于在执行 floordiv() 方法时用指定值替换缺失值,默认情况下该参数将用 Nan 填充缺失值。
示例 1
在下面的示例中,我们将使用标量值"2"对 Series 对象应用 floor 除法运算。
import pandas as pd
# 创建 pandas Series
series = pd.Series([9, 25, 14, 82])
print("Series object:",series)
# 应用 floordiv()
print("Output:")
print(series.floordiv(2))
输出
输出如下所示 −
Series object: 0 9 1 25 2 14 3 82 dtype: int64 Output: 0 4 1 12 2 7 3 41 dtype: int64
在上面的代码块中,我们可以看到初始的和结果的系列对象。第二个是系列与标量值"2"之间逐元素整数除法运算的结果。
示例 2
在下面的例子中,我们将对带有标量的系列对象应用整数除法运算,给定的系列对象包含一些 Nan 值。
import pandas as pd
import numpy as np
# 创建 pandas 系列
series = pd.Series([87, 5, None, 42, np.nan, 61])
print("Series object:",series)
# apply floordiv()
print("Output without replacing missing values:")
print(series.floordiv(other=2))
# 应用带有 fill_value 参数的 floordiv() 方法
print("Output with replacing missing values by 5:")
print(series.floordiv(other=2, fill_value=5))
输出
输出如下 −
Series object: 0 87.0 1 5.0 2 NaN 3 42.0 4 NaN 5 61.0 dtype: float64 Output without replacing missing values: 0 43.0 1 2.0 2 NaN 3 21.0 4 NaN 5 30.0 dtype: float64 Output with replacing missing values by 5: 0 43.0 1 2.0 2 2.0 3 21.0 4 2.0 5 30.0 dtype: float64
首先,我们通过标量值 2 对系列对象应用了 floordiv() 操作,但没有替换缺失值。之后,我们再次通过标量值 2 和缺失值 5 (fill_value=5) 对同一系列应用了 floordiv() 方法。
两个输出都显示在上面的输出块中。

