如何在Python中对两个DataFrame矩阵做元素级除法并保存?
Pandas实现DataFrame对应元素逐元素除法
当然可以实现,Python中用Pandas处理这种需求的最简方法就是直接使用除法运算符/,因为Pandas的DataFrame原生支持逐元素的算术运算,只要两个DataFrame的行索引和列名对齐即可。
实现步骤:
- 导入Pandas并构造示例DataFrame
import pandas as pd # 构造题目中的df1 df1 = pd.DataFrame([[4, 6, 2], [2, 0, 6], [8, 2, 1]]) # 构造题目中的df2 df2 = pd.DataFrame([[2, 3, 2], [1, 3, 2], [4, 2, 3]])
- 执行逐元素除法
# 直接用/运算符完成对应元素相除 result_df = df1 / df2 # 若需要和期望输出一致保留两位小数,可调用round方法 result_df = result_df.round(2)
运行结果:
0 1 2 0 2.0 2.0 1.00 1 2.0 0.0 3.00 2 2.0 1.0 0.33
说明:
Pandas的DataFrame会自动匹配相同位置的元素进行运算,这种向量化操作无需手动遍历元素,代码简洁且执行效率远高于循环处理。
内容的提问来源于stack exchange,提问作者Coder
相关产品推荐
相关产品推荐

