列表理解货币转换通过声明
List comprehension currency conversion pass statement
我正在尝试编写列表理解以将 pandas 数据框中的货币转换为所有美元。我正在使用 forex_python.converter 来获取汇率。
数据如下:
Amount
Currency
Amount_USD
20
usd
45
cad
17
gbp
我想写一个循环来应用特定日期的汇率将每一行转换为美元,但如果该行是美元,那么 Amount_USD 应该等于金额
到目前为止我已经尝试过:
for currency in currencies:
if currency == 'usd':
data['Amount_USD'] == data['Amount']
else:
date_obj=datetime.datetime(2020,8,1)
currency2 = print('"{0}"'.format(currency))
rate = c.get_rate(currency2,'USD', date_obj)
data['Amount_USD'] = np.where(data['Currency']== currency2, data['Amount']*rate , np.nan)
但目前代码正在对美元值应用汇率。
我建议重写:
for currency in currencies:
if currency != 'usd':
date_obj=datetime.datetime(2020,8,1)
currency2 = print('"{0}"'.format(currency))
rate = c.get_rate(currency2,'USD', date_obj)
else:
rate = 1
data.loc[data.currency == currency, 'Amount_USD'] = data['Amount'] * rate
我正在尝试编写列表理解以将 pandas 数据框中的货币转换为所有美元。我正在使用 forex_python.converter 来获取汇率。
数据如下:
Amount | Currency | Amount_USD |
---|---|---|
20 | usd | |
45 | cad | |
17 | gbp |
我想写一个循环来应用特定日期的汇率将每一行转换为美元,但如果该行是美元,那么 Amount_USD 应该等于金额
到目前为止我已经尝试过:
for currency in currencies:
if currency == 'usd':
data['Amount_USD'] == data['Amount']
else:
date_obj=datetime.datetime(2020,8,1)
currency2 = print('"{0}"'.format(currency))
rate = c.get_rate(currency2,'USD', date_obj)
data['Amount_USD'] = np.where(data['Currency']== currency2, data['Amount']*rate , np.nan)
但目前代码正在对美元值应用汇率。
我建议重写:
for currency in currencies:
if currency != 'usd':
date_obj=datetime.datetime(2020,8,1)
currency2 = print('"{0}"'.format(currency))
rate = c.get_rate(currency2,'USD', date_obj)
else:
rate = 1
data.loc[data.currency == currency, 'Amount_USD'] = data['Amount'] * rate