March 8, 2022
Добавление условного столбца в Pandas
Рассмотрим способ создания столбца, зависящего от значений в другой колонке, средствами Pandas. В демонстрационных целях будем работать с таблицей следующего вида (условно данные о торговых центрах, магазинах в них и общем доходе):
Пусть мы хотим добавить новый столбец (size) с категорией размера торгового центра в зависимости от дохода (revenue):
- Если доход < 12000, то значение "little";
- Если доход >=12000 и <=25000, то - "average";
- Если доход > 25000, то "big".
Такая логика в Pandas задается с помощью индексатора loc, который может одновременно отобрать строки по логическим значениям и выбрать заданные столбцы:
df.loc[df['revenue']<12000,'size'] = "little" df.loc[(df['revenue']>=12000)&(df['revenue']<=25000),'size'] = "average" df.loc[df['revenue']>25000,'size'] = "big" df
Обратите внимание, что null значения нужно обрабатывать дополнительно. Как это делать, расскажу в другой статье.