У меня есть дамп транзакций.Столбцы в наборе данных предоставляют информацию о валюте и о том, в какую ФС поступает каждая транзакция.
Я хочу переводить валюты по двум разным курсам в зависимости от того, в какую ФС поступает транзакция.Есть две валюты USD и CAD.Есть две ФС.У меня есть столбец со всеми суммами в долларах США и один со всеми в CAD.См. Таблицу ниже для примера.
FS CUR USD CAD USD_FS
BS USD 1000 1364 X
BS USD 2000 2729 X
IS CAD 300 409 X
IS USD 55 75 X
BS CAD 1312 1790 X
IS CAD 3156 4306 X
IS USD 32165 43881 X
BS CAD 32156 43869 X
Код psuedo, который я хочу реализовать в пандах:
ye_rate = 1.3642
average_rate = 1.2957
if FS == 'BS' and CUR == 'CAD':
USD_FS = CAD/ye_rate
else if FS == 'IS' and CUR == 'USD':
USD_FS = CAD/average_rate
else:
USD_FS = USD
Это то, что у меня есть в пандах:
for i in range(0, len(df)):
if df.loc[i]['Currency'] == 'CAD':
if df.loc[i]['FS'] == 'BS':
df.loc[i]['USD_FS'] = df.loc[i]['CAD']/ye_rate
if df.loc[i]['FS'] == 'IS':
df.loc[i]['USD_FS'] = df.loc[i]['CAD']/average_rate
Я получаю эту ошибку:
Значение пытается быть установлено для копии среза из DataFrame
Для приведенной выше таблицы примеров,Я хочу следующий вывод:
FS CUR USD CAD USD_FS
BS USD 1000 1364 1000
BS USD 2000 2729 2000
IS CAD 300 409 409/average_rate
IS USD 55 75 55
BS CAD 1312 1790 1790/ye_rate
IS CAD 3156 4306 4306/average_rate
IS USD 32165 43881 32165
BS CAD 32156 43869 43869/ye_rate