pandas 系列 div() 方法如何工作?

pandasserver side programmingprogramming更新于 2025/5/17 23:07:17

在 pandas 系列构造函数中,div() 或 divide() 方法用于对两个系列对象进行浮点除法或对具有标量值的系列进行除法。并执行逐元素除法运算。

该方法返回一个具有浮点除法值结果的系列。它有 3 个参数,分别是 fill_value、other 和 level。另一个参数只是第二个输入系列或标量值。

fill_value 参数用于填充缺失值。如果任何一个系列对象缺少索引,那么我们可以用指定的值填充缺少的索引值以执行除法运算。

示例 1

import pandas as pd
import numpy as np

# 创建 pandas Series1
series1 = pd.Series([29, 36, 98, 12], index=['A', 'B', 'C', 'D'])

print("First series object:",series1)

# 创建 pandas Series2
series2 = pd.Series([3, 2, 4, 2], index= ['A', 'B', 'D', 'E'])

print("Second series object:",series2)

# 除法
print("Divide: ", series1.div(series2))

解释

在此示例中,我们将划分两个系列对象。为此,我们使用带有标记索引的整数列表创建了两个 Pandas 系列。之后,我们应用了 divide() 方法。

输出

First series object:
A 29
B 36
C 98
D 12
dtype: int64

Second series object:
A 3
B 2
D 4
E 2
dtype: int64

Divide:
A 9.666667
B 18.000000
C      NaN
D 3.000000
E      NaN
dtype: float64

我们对两个系列对象 series1 和 series2 应用了 divide() 方法。根据索引标签,在系列元素之间执行除法运算。我们可以在上面的输出块中看到生成的系列对象。

示例 2

import pandas as pd

# 创建 pandas Series1
series1 = pd.Series([29, 36, 98, 12], index=['A', 'B', 'C', 'D'])

print("First series object:",series1)

# 创建 pandas Series2
series2 = pd.Series([3, 2, 4, 2], index= ['A', 'B', 'D', 'E'])

print("Second series object:",series2)

# 除法
print("除法:", series1.div(series2, fill_value=10))

解释

我们像前面的例子一样创建了两个 pandas Series 对象,但在这里,我们将 fill_value 参数的值设为"10"。然后应用了 divide() 方法。

输出

First series object:
A 29
B 36
C 98
D 12
dtype: int64

Second series object:
A 3
B 2
D 4
E 2
dtype: int64

Divide:
A  9.666667
B 18.000000
C  9.800000
D  3.000000
E  5.000000
dtype: float64

到这里,我们成功对两个系列对象series1和series2进行了浮动除法,填充值为"10"。


相关文章