当前位置: 首页 > backend >正文

【Pandas】pandas DataFrame truediv

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])用于执行逐元素的除法操作
DataFrame.truediv(other[, axis, level, …])用于执行逐元素的真除法操作

pandas.DataFrame.truediv()

pandas.DataFrame.truediv() 方法用于执行逐元素的真除法操作。真除法是指使用浮点数除法,即使两个操作数都是整数,结果也会是浮点数。这个方法可以用于两个 DataFrame 之间的除法,也可以用于 DataFrame 和一个标量之间的除法。下面是对参数的详细描述:

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

假设我们有两个 DataFrame:

import pandas as pddf1 = 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.truediv(df2)
print(result)

输出:

     A    B
0  1.0  2.0
1  2.0  2.5
2  3.0  3.0
示例 2: DataFrame 与标量之间的真除法
result = df1.truediv(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.truediv(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.truediv(df2)
print(result)

输出:

     A   B
0  1.0  2.0
1  2.0   inf
2  3.0  3.0

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

示例 5: 指定 axis 参数

假设我们有一个 DataFrame 和一个 Series,可以通过指定 axis 参数来控制除法操作的轴:

series_row = pd.Series([100, 200, 300], index=[0, 1, 2])
result_axis_0 = df1.truediv(series_row, axis=0)
print("\nDataFrame 1 / Series (axis=0):")
print(result_axis_0)series_col = pd.Series([10, 20], index=['A', 'B'])
result_axis_1 = df1.truediv(series_col, axis=1)
print("\nDataFrame 1 / Series (axis=1):")
print(result_axis_1)

输出:

DataFrame 1 / Series (axis=0):A     B
0  0.01  0.02
1  0.01  0.025
2  0.01  0.02DataFrame 1 / Series (axis=1):A    B
0  0.1  0.2
1  0.2  0.25
2  0.3  0.3
总结

pandas.DataFrame.truediv() 方法提供了一种灵活的方式来执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素真除法操作。通过 axis 参数可以指定操作的轴,通过 level 参数可以处理多级索引,通过 fill_value 参数可以填充缺失值。这对于数据处理和计算非常有用,特别是在处理缺失值和多级索引时。

http://www.xdnf.cn/news/1231.html

相关文章:

  • 【程序员 NLP 入门】词嵌入 - 上下文中的窗口大小是什么意思? (★小白必会版★)
  • RESTful API 设计原则
  • 深度学习基石:神经网络核心知识全解析(一)
  • Curl用法解析
  • 前端频繁调用后端接口问题思考
  • 2025年4月22日(平滑)
  • 【Python笔记 03 】运算符
  • n8n更新1.87后界面报错Connection lost解决
  • 如何精准查询住宅IP?工具、方法与注意事项
  • HTML5+CSS3+JS小实例:CSS太阳动画特效
  • Java 静态内部类面试题与高质量答案合集
  • 源超长视频生成模型:FramePack
  • 丰富多样功能的小白工具,视频提取音频,在线使用,无需下载软件
  • Vscode指定缓存路径 .vscode 路径
  • net+MySQL中小民营企业安全生产管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • spark与Hadoop之间的对比与联系
  • GTS-400 系列运动控制器板(七)----修改限位开关触发电平
  • 【STL】unordered_set
  • 为什么访问树节点用 `root->right` 这种形式
  • ANDON系统看板助力电器组装线实现智能管理
  • 鸿蒙NEXT开发权限工具类(申请授权相关)(ArkTs)
  • 如何给pip命令国内镜像源
  • Python 简介与入门
  • 轻量级别的htpp客户端--Forest
  • “多模态SCA+DevSecOps+SBOM风险情报预警 “数字供应链安全最佳管理体系!悬镜安全如何用AI守护万亿数字中国?
  • KUKA机器人KR 3 D1200 HM介绍
  • JDK版本与Spring Boot版本之间对应关系
  • 【RK3588 嵌入式图形编程】-SDL2-扫雷游戏-放置标记
  • day3 打卡训练营
  • 多表查询之嵌套查询