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

将DataFrame的id列Series传入dict匹配转换因子报错,求高效方案

解决方法:匹配字典转换因子并更新DataFrame列

你触发的TypeError是因为字典ht无法接受df["id"](Series类型)作为键取值——Series是可变对象,不满足字典键的可哈希要求。

实现需求的最高效方式是使用pandas的Series.map()方法,代码如下:

df["vals"] *= df["id"].map(ht)

补充说明

  • map()会遍历df["id"]的每个元素,自动匹配ht中对应的转换因子,返回与原Series长度一致的结果Series,直接和vals列相乘即可完成批量更新。
  • 如果df["id"]中存在ht里没有的键,会生成NaN导致vals列对应值变为NaN,可以通过fillna()设置默认转换因子(比如用1保持原值):
    df["vals"] *= df["id"].map(ht).fillna(1)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:47:03