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

如何将pandas DataFrame指定列与键名匹配的字典对应值相乘

操作方法

你可以直接用pandas内置的向量化乘法实现需求,不需要遍历列,代码简洁且运行效率更高:
假设你的DataFrame命名为df,匹配的乘数字典命名为multiplier_dict,直接执行以下代码即可:

# 仅对字典中存在匹配列名的列做乘法,其余列保持不变
df[multiplier_dict.keys()] = df[multiplier_dict.keys()].mul(multiplier_dict, axis=1)

代码说明

  • mul是pandas的原生乘法方法,指定axis=1后会自动将字典的键和DataFrame的列名做匹配,对应列乘上字典中对应的数值
  • 即使字典中存在部分键不在你的DataFrame列中,该方法也会自动忽略这些不存在的键,不会抛出错误
    如果你不想修改原始DataFrame,可以先复制一份再操作:
new_df = df.copy()
new_df[multiplier_dict.keys()] = new_df[multiplier_dict.keys()].mul(multiplier_dict, axis=1)

可选遍历写法

如果更习惯遍历逻辑,也可以用如下写法实现,仅适合数据量较小的场景:

for col, val in multiplier_dict.items():
    # 只处理同时存在于字典和DataFrame列中的字段
    if col in df.columns:
        df[col] = df[col] * val

结果验证

你可以快速核对结果是否正确:比如原208230_s_at norm列第一行数值为0.005718,乘以字典中对应值2.3012184212079356后,结果约为0.01316,和操作后的列数值核对即可确认操作正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:05