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

如何将DataFrame列中的字符串替换为另一DataFrame匹配的浮点数值?

解决方法

方法1:用map直接替换(最简洁高效)

先把fx_df转换成货币对-汇率的映射字典,再直接覆盖原列,一步完成替换:

# 构建货币到对应汇率的字典
fx_map = fx_df.set_index('FX_Pairs')['FX_Rate'].to_dict()

# 直接替换df_df的FX_Rate列
df_df['FX_Rate'] = df_df['FX_Rate'].map(fx_map)

执行后df_df的FX_Rate列会直接变成对应的浮点数值,不会产生多余列。

方法2:基于你已用的merge改造

如果想沿用merge的思路,可以在合并后清理列名、删除冗余列:

# 合并时指定左表FX_Rate与右表FX_Pairs匹配
merged_df = df_df.merge(fx_df, left_on='FX_Rate', right_on='FX_Pairs', how='left')
# 删除原字符串列和多余的FX_Pairs列
merged_df = merged_df.drop(columns=['FX_Rate_x', 'FX_Pairs'])
# 将新汇率列重命名回原列名
merged_df = merged_df.rename(columns={'FX_Rate_y': 'FX_Rate'})

不过这种方法步骤繁琐,不如map直接高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:35:55