Я хочу работать с подмножеством данных в 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