如何根据条件将一个 df 中的列的值与另一个 df 的列值相除

时间:2021-06-17 18:53:10

标签: python python-3.x pandas dataframe merge

我有两个 可变长度的 dfs 并试图通过除以 df1['AMOUNT'] 来创建一个新列 df1['CONV_AMOUNT'] strong> 通过 df2['VALUE'] 如果 df1['CURR_CODE'] 匹配 df2['CURR_CODE']

但合并后我没有得到预期的结果。

df1:

enter image description here df2: enter image description here

我从 SO 解决方案 Multiplying columns in separate pandas dataframe based on similar column values 中尝试过的是:

df1['CONV_AMOUNT'] = df1.merge(df2).assign(soln=lambda df: df.AMOUNT / df.VALUE).soln

我得到的输出是错误的(df1):

enter image description here

预期 df1:

enter image description here

我无法弄清楚我在这里遗漏了什么或做错了什么。任何帮助/建议都受到高度赞赏。 提前致谢!

0 个答案:

没有答案