【Pandas】pandas DataFrame div

发布于:2025-04-23 ⋅ 阅读:(87) ⋅ 点赞:(0)

Pandas2.2 DataFrame

Binary operator functions

方法 描述
DataFrame.add(other) 用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作
DataFrame.add(other[, axis, level, fill_value]) 用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作
DataFrame.sub(other[, axis, level, fill_value]) 用于执行逐元素的减法操作
DataFrame.mul(other[, axis, level, fill_value]) 用于执行逐元素的乘法操作
DataFrame.div(other[, axis, level, fill_value]) 用于执行逐元素的除法操作

pandas.DataFrame.div()

pandas.DataFrame.div() 方法用于执行逐元素的除法操作。这个方法可以用于两个 DataFrame 之间的除法,也可以用于 DataFrame 和一个标量之间的除法。下面是对参数的详细描述:

  • other: 可以是另一个 DataFrame、Series、Index、常量或可广播到相同形状的数组。
  • axis: 指定沿哪个轴进行操作。0'index' 表示沿行操作,1'columns' 表示沿列操作。
  • level: 如果索引是多重索引(MultiIndex),则可以指定沿哪个级别进行操作。
  • fill_value: 如果遇到缺失值(NaN),可以使用这个值来填充。
示例

假设我们有两个 DataFrame:

import pandas as pd

df1 = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

df2 = pd.DataFrame({
    'A': [1, 1, 1],
    'B': [2, 2, 2]
})
示例 1: DataFrame 与 DataFrame 之间的除法
result = df1.div(df2)
print(result)

输出:

   A  B
0  1.0  2.0
1  2.0  2.5
2  3.0  3.0
示例 2: DataFrame 与标量之间的除法
result = df1.div(2)
print(result)

输出:

   A  B
0  0.5  2.0
1  1.0  2.5
2  1.5  3.0
示例 3: 使用 fill_value 处理缺失值

假设 df2 有一个缺失值:

df2.iloc[0, 0] = None  # 设置 df2 中的一个值为 NaN
result = df1.div(df2, fill_value=1)
print(result)

输出:

     A  B
0  1.0  2.0
1  2.0  2.5
2  3.0  3.0

在这个例子中,df2 中的第一个元素是 NaN,使用 fill_value=1 后,df1 中的对应元素 1 除以 1,结果仍然是 1

示例 4: 处理除以零的情况

如果 df2 中有零值,结果会是 inf-inf

df2.iloc[1, 1] = 0  # 设置 df2 中的一个值为 0
result = df1.div(df2)
print(result)

输出:

     A   B
0  1.0  2.0
1  2.0   inf
2  3.0  3.0

在这个例子中,df2 中的第二个元素是 0df1 中的对应元素 5 除以 0,结果是 inf

这些示例展示了 pandas.DataFrame.div() 方法的基本用法和一些常见的情况。


网站公告

今日签到

点亮在社区的每一天
去签到