#python #pandas #dataframe
Нужно пересчитать заданный DataFrame в другой валюте:
rate = {'RUB': 69.183071}
df1:
id val1 val2 val3
a 100 200 300
b 500 700 100
c 1000 1500 2000
Нужно получить df2 в другой валюте по rate, грубо говоря значения в DataFrame разделить
на rate:
df2:
id val1 val2 val3
a 1.44 2.89 4.33
b 7.22 10.11 1.44
c 14.45 21.68 28.91
Пытался сделать через apply lambda, но почему-то все применимо только к столбцу и
выдает мне Series. Через groupby что-то тоже не получается.
Ответы
Ответ 1
In [73]: (df2.set_index("id") / rate["RUB"]).reset_index() Out[73]: id val1 val2 val3 0 a 1.445440 2.890881 4.336321 1 b 7.227202 10.118082 1.445440 2 c 14.454403 21.681605 28.908806 или: In [74]: df2.set_index("id").div(rate["RUB"]).reset_index() Out[74]: id val1 val2 val3 0 a 1.445440 2.890881 4.336321 1 b 7.227202 10.118082 1.445440 2 c 14.454403 21.681605 28.908806
Комментариев нет:
Отправить комментарий