2017-06-18 101 views
3

我试图将不同货币的值转换为“美元”货币。我尝试了easymoneyCurrencyConvertor包,但这些包似乎不适用于dataframe python。熊猫中的货币转换

如果我使用iloc一行一行地进行转换,但看起来很正常,但这需要花费很多时间。

from easymoney.money import EasyPeasy 
ep = EasyPeasy() 
ep.currency_converter(df_train['goal'], from_currency=df_train['currency'], to_currency="USD") 

Error:
TypeError: invalid type comparison

回答

1

您需要applyaxis=1用于处理由行:

from easymoney.money import EasyPeasy 
ep = EasyPeasy() 
df_train['converted'] = df_train.apply(lambda x: ep.currency_converter(x['goal'], from_currency=x['currency'], to_currency="USD"), axis=1) 
+0

你如何处理与'null'值?我一直收到错误''不能将浮点数NaN转换为整数'' – kevinaskevin

+0

@kevinaskevin - 通常有两种方法 - 用'fillna()'替换'NaN'或'None's为一些整数或者用'dropna ' – jezrael