DataFrame.divide(self, other, axis='columns', level=None, fill_value=None)
获取数据帧和其他元素的浮动除法(二元运算符truediv)。相当于,但支持将fill_value替换为其中一个输入中的缺失数据。使用反向版本,rtruediv
。dataframe/other
在灵活的包装器(add,sub,mul,div,mod,pow
)中算术运算符:+,-,*,/,//,%,**
。
参数: | other : 标量 (scalar),序列(sequence), 任何单个或多个元素数据结构或类似列表的对象。 axis : {0 或 ‘index’, 1 或 ‘columns’} 是否通过索引 (0 或 ‘index’) 或列(1 或 ‘columns’)进行比较。 对于Series输入,轴匹配Series索引。 level : 跨级别广播,匹配传递的 fill_value : 在计算之前使用此值填充现有缺失( 值以及成功 如果缺少相应 |
返回: | DataFrame 算术运算的结果。 |
Note
不匹配的指数将合并在一起。
例子
1)DataFrame 与常数相除
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [10, 20, 30],
'B': [100, 200, 300]
})
# 除以 10
result = df.divide(10)
print(result)
2)DataFrame 与另一 DataFrame 相除
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({
'A': [10, 20, 30],
'B': [100, 200, 300]
})
df2 = pd.DataFrame({
'A': [2, 4, 5],
'B': [10, 20, 30]
})
# 逐元素相除
result = df1.divide(df2)
print(result)
3)DataFrame 和 Series 相除
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [10, 20, 30],
'B': [100, 200, 300]
})
# 创建一个 Series
s = pd.Series([2, 10], index=['A', 'B'])
# 逐列相除
result = df.divide(s, axis=1)
print(result)
4)处理缺失值
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [10, 20, 30],
'B': [100, 200, 300]
})
# 带有 NaN 的 DataFrame
df3 = pd.DataFrame({
'A': [10, None, 30],
'B': [100, 200, None]
})
# 使用 fill_value 处理 NaN
result = df.divide(df3, fill_value=1)
print(result)