Страницы

Поиск по вопросам

среда, 1 января 2020 г.

Вычесление по всему DataFrame

#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

Комментариев нет:

Отправить комментарий