如何为DataFrame新增suf_values列并填入对应变量的匹配值
解决方法
你可以通过构建映射字典+pandas的map方法实现需求,这是性能最优、逻辑最清晰的实现方式:
- 先构建
suf取值和对应数值的映射字典 - 调用
map方法匹配生成新列
# 构建映射字典 suf_map = { 'A': 1.05, 'B': 1.07, 'C': 1.09, 'D': 1.2, 'E': 1.25, 'F': 1.27 } # 匹配生成新列 df['suf_values'] = df['suf'].map(suf_map)
如果你的suf列存在A-F之外的取值,map会默认返回NaN,你可以额外加fillna设置默认值:
# 示例:未匹配到的取值默认填充为1 df['suf_values'] = df['suf'].map(suf_map).fillna(1)
如果suf列的取值是小写a-f,在匹配前先转大写即可:
df['suf_values'] = df['suf'].str.upper().map(suf_map)
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

