Pandas series.divmod() 方法是如何工作的
在pandas series构造函数中,divmod() 方法用于执行两个series对象的整数除法和取模操作。我们可以用标量值计算一个series的divmod()。并且我们可以执行逐元素的divmod()操作。
该方法返回一个包含两个series对象的python元组,元组的第一个series表示整数除法的结果,元组的第二个series表示取模除法的结果。
该方法对两个series对象执行逐元素的除法操作。有一个名为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 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值被fill_value参数定义的10替换掉。