You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataFrame中实现多列按同一列除法并乘以100?

实现DataFrame所有列除以指定列并乘以100

没问题,这在pandas里其实很容易实现!我给你两种实用的处理方式,你可以根据需求选择:

方式1:对所有列(含参考列)执行运算

如果需要让所有列都参与运算(包括作为除数的参考列),直接利用pandas的广播特性就能一行搞定:

import pandas as pd

# 先模拟你的示例数据
data = {
    '列1': [0.21],
    '列2': [0.18],
    '列3': [0.146],
    '参考列': [0.26]
}
df = pd.DataFrame(data)

# 核心运算:所有列 ÷ 参考列 × 100
result_df = (df / df['参考列']) * 100

运行后result_df的结果会符合计算逻辑:列1≈80.8(和你给出的示例一致),列2≈69.2(哦对了,你示例里写的83.6应该是笔误啦~),列3≈56.2。

方式2:仅处理非参考列,保留原参考列

如果想保留原参考列的数值不变,只对其他列做运算,可以先筛选出目标列:

# 筛选出除参考列外的所有列
target_cols = df.columns.drop('参考列')

# 对目标列执行运算并替换原数据
df[target_cols] = (df[target_cols] / df['参考列']) * 100

这样处理后,原DataFrame里的参考列数值保持0.26不变,其他列都变成了除以参考列再乘100后的结果。

小提示

pandas的广播机制会自动把单列的数值扩展成和整个DataFrame匹配的形状,所以每一行的列值都会对应除以该行的参考列数值,完美匹配你的需求~

内容的提问来源于stack exchange,提问作者perherring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:32:02