Pandas 系列中的 series.divmod() 方法是如何工作的?


Pandas 系列构造函数中的 divmod() 方法用于对两个系列对象执行整数除法和取模运算。我们可以计算一个系列与标量值之间的 divmod()。并且我们可以执行逐元素的 divmod() 操作。

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

该方法对两个系列对象执行逐元素除法运算。有一个名为 fill_value 的参数,用于在执行 divmod() 方法时用指定的值填充缺失值的位置,默认情况下它将用 Nan 填充缺失值。

示例 1

# import pandas packages
import pandas as pd

# Creating Series objects
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

# Creating Series objects
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 系列。之后,我们使用 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 参数定义的。

更新于: 2022年3月9日

276 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告