Работа на подмножестве DF: влияние другого синтаксиса - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу работать с подмножеством данных в df, используя python и pandas.Я использую заявку, чтобы сделать работу.Вот данные, хранящиеся в df0:

date         A         B        FX
1/1/2019   1.7379    1.7379   1.337562
2/1/2019   1.6604    1.7379   1.336279

Я изменяю единицы в данных в столбце A, используя столбец FX, и оставляю столбец B как есть.Первый код, который я использую:

df0.loc[:,'A']=df0.loc[:,'A'].apply(lambda x: x / df0['FX'] * 1.055056)

Это прекрасно работает, создавая данные, которые я ищу:

date         A         B        FX
1/1/2019   1.3708    1.7379   1.337562
2/1/2019   1.3109    1.7379   1.336279

Второй фрагмент кода дает те же ответы.

df1.loc[:,'A']=df1.apply(lambda x: x / df1['FX'] * 1.055056)

Очевидно, я довольно новичок в этом - кто-то может объяснить мне простым языком разницу в моих двух строках кода и почему они дают результаты, которые они делают?

Во-вторых, если есть более эффективный способ работы с подмножеством DF, я хотел бы услышать об этом.

Спасибо

Редактировать:

Благодаря комментариям ниже.Для большего количества цветов в наборе данных есть сотни строк и столбцов, и я выбираю подмножество через список.Фактический код будет выглядеть примерно так (на основе комментариев ниже - спасибо всем):

df0[list]=df0[list].apply(lambda x: x / df0['FX'] * 1.055056)

Или, возможно, лучше избегать lamba и использовать (я считаю, что это будет правильно):

df0[list]=df0[list] / df0['FX'] * 1.055056
...