Назначить метод объекта фрейма данных python, не сумевшего добавить столбец

Следующий код не добавляет столбец mean_val во фрейм данных descripdat.

descripdat.assign(mean_val= svrdat02.iloc[:,3:32].mean(axis=1))

хотя работает следующее:

descripdat['mean_val']=svrdat02.iloc[:,3:32].mean(axis=1)

Назначьте его обратно фрейму данных. descripdat = descripdat.assign(mean_val= svrdat02.iloc[:,3:32].mean(axis=1))

harvpan 10.08.2018 15:52

В документации для assign четко сказано: «Назначьте новые столбцы DataFrame, возвращая новый объект (копию) с новыми столбцами, добавленными к исходным».

timgeb 10.08.2018 15:54
4
2
39
1

Ответы 1

Assign возвращает копию.

Во втором операторе вы используете =, оператор присваивания.

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

Другие вопросы по теме