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)