pandas series.divmod() 方法如何工作?\

pandasserver side programmingprogramming更新于 2025/5/17 19:37:17

pandas series 构造函数中的 divmod() 方法用于对两个 series 对象执行整数除法和取模。我们可以用标量值计算一个 series 的 divmod()。我们可以执行逐元素的 divmod() 操作。

该方法返回一个包含两个 series 对象的 python 元组,元组中的第一个 series 表示整数除法结果,元组中的第二个 series 对象表示取模除法结果。

该方法对两个 series 对象执行逐元素除法操作。有一个参数叫 fill_value,用于在执行 divmod() 方法时用指定的值代替缺失值,默认情况下会用 Nan 填充缺失值。

示例 1

# import pandas packages
import pandas as pd

# 创建 Series 对象
series1 = pd.Series([96, 75, 23, 17, 30], index=['A', 'B', 'C', 'D', 'E'])
print('First series object:',series1)

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

print("Divmod of Series1 and Series2:", series1.divmod(series2))

解释

在本例中,我们将使用 divmod() 方法划分两个系列对象,而不更改任何默认参数值。

输出

First series object:
A 96
B 75
C 23
D 17
E 30
dtype: int64

second series object:
A 8
B 6
C 4
D 5
F 3
dtype: int64

Divmod of Series1 and Series2:
(A 12.0
B  12.0
C   5.0
D   3.0
E   NaN
F   NaN
dtype: float64,

A 0.0
B 3.0
C 3.0
D 2.0
E NaN
F NaN
dtype: float64)

在上面的输出块中,我们可以看到两个系列对象的元组。第一个对象表示整数除法值,第二个对象表示两个系列对象上的 divmod() 方法的模数值。

示例 2

# import pandas packages
import pandas as pd

# 创建系列对象
series1 = pd.Series([36, 85, 4, 13, 34], index=['A', 'B', 'C', 'D', 'E'])
print('First series object:',series1)

series2 = pd.Series([7, 8, 1, 6, 8], index=['A', 'B', 'C', 'D', 'F'])
print('second series object:',series2)

print("Divmod of Series1 and Series2:", series1.divmod(series2, fill_value=10))

解释

首先,我们创建了两个带有标签索引的 pandas Series。然后,我们应用了带有 fill_value 参数的 divmod() 方法。

输出

First series object:
A 36
B 85
C  4
D 13
E 34
dtype: int64

second series object:
A 7
B 8
C 1
D 6
F 8
dtype: int64

Divmod of Series1 and Series2:
(A 5.0
B 10.0
C  4.0
D  2.0
E  3.0
F  1.0
dtype: float64,

A 1.0
B 5.0
C 0.0
D 1.0
E 4.0
F 2.0
dtype: float64)

在上面的输出块中,我们可以看到两个系列对象的元组。执行 divmod() 方法时,Nan 值被替换为 10,这是由 fill_value 参数定义的。


相关文章