在熊猫中通过查找进行货币转换

时间:2020-03-07 10:11:18

标签: python pandas lambda vectorization

在数据框中,我有价格,货币和基本货币的转换率

price | currency | GBP | EUR | CAD

我会通过查找转换率来将价格转换为基础货币。

当前我使用的是lambda函数,但对于大数据而言性能很低

df['usd'] = df.apply(lambda row: row['price'] / row[order.currency], axis=1)

向量化或改进这种查找功能的最佳方法是什么?谢谢!

1 个答案:

答案 0 :(得分:2)

我找到了一个更快的解决方案。

df['fx_rate'] = df.lookup(df.index, df['currency'])
df['usd'] = df['price']/df['fx_rate']