我有以下两个数据框:
fx = {'FX_Pairs': ['EUR', 'USD', 'GBP'],
'FX_Rate': [0.92, 1, 0.78]}
df = {'Company': ['LVMH', 'Apple', 'Shell'],
'FX_Rate': ['EUR', 'USD', 'GBP'],}
fx_df = pd.DataFrame(fx)
df_df = pd.DataFrame(df)
我想将 df 数据框中的“FX_Rate”列替换为 fx 数据框中相应的“FX_Rates”值。
我尝试使用
df = df.merge(fx, on="FX_Rate", how="left")
它有效,但它添加了另一列,而我想更换该列。
合并后您可以删除任何额外的列。合并时为右侧和左侧数据帧分配适当的后缀
df_df \
.merge(fx_df,
right_on="FX_Pairs",
left_on="FX_Rate",
how="left",
suffixes=["_txt", ""]) \
.drop(["FX_Rate_txt", "FX_Pairs"], axis=1)
输出:
Company FX_Rate
0 LVMH 0.92
1 Apple 1.00
2 Shell 0.78