如何用标量对 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() 方法。

两个输出都显示在上面的输出块中。


相关文章