我有一个理论上很简单的问题。我只是似乎无法解决问题。我有2个Pandas数据框。
数据框A:
Date Currency
-------------------------
2019-11-29 EUR
2019-11-29 USD
. GBP
. .
. .
2019-10-31
数据框B:
Date Currency Conversion
-----------------------------------
2019-11-29 USD 0.79
2019-11-29 GBP 1.23
2019-11-29 CHF 1.41
2019-11-28 USD .
.
.
.
2019-10-31 USD .
2019-10-31 GBP
2019-10-31 USD
我基本上在Dataframe A中有一长串交易,每天大约5到15次。这些工具以不同的货币购买,所有货币均应以欧元计价。我用SQL编写了一篇文章,检索了该期间所有日期的转换率(从XX货币转换为EUR)。
现在我需要在数据框A中添加一列:
IF DataframeA[Date] = DataframeB[Date] AND DataframeA[Currency] = DataframeB[Currency]
然后应添加相应的转化率。
我可以执行IF语句,但是我似乎无法在脚本运行时进行迭代和更新。有什么想法吗?
最佳 帕特里克
答案 0 :(得分:2)
DataframeA = pd.merge(DataframeA,DataFrameB,on = ['Date','Currency'])
默认情况下是内部联接。您可以选择使用合并命令中的选项Ex:how ='outer'进行相应的修改。 此外,根据需要删除或保留该列,或者选择在来自两个数据帧的公共列中添加后缀或前缀。阅读doc