Python中的双重约束循环

时间:2019-12-11 17:35:31

标签: python pandas loops dataframe

我有一个理论上很简单的问题。我只是似乎无法解决问题。我有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语句,但是我似乎无法在脚本运行时进行迭代和更新。有什么想法吗?

最佳 帕特里克

1 个答案:

答案 0 :(得分:2)

DataframeA = pd.merge(DataframeA,DataFrameB,on = ['Date','Currency'])

默认情况下是内部联接。您可以选择使用合并命令中的选项Ex:how ='outer'进行相应的修改。 此外,根据需要删除或保留该列,或者选择在来自两个数据帧的公共列中添加后缀或前缀。阅读doc