«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Эффективны ли цепочки назначений в Pandas?

Эффективны ли цепочки назначений в Pandas?

Опубликовано 8 ноября 2024 г.
Просматривать:714

Are Chained Assignments Efficient in Pandas?

Связанные присваивания в Pandas

Введение

Связанные присвоения в Pandas, популярной библиотеке манипулирования данными, представляют собой операции, последовательно выполняемые над значениями фрейма данных. Это может привести к проблемам с производительностью, если операции не обрабатываются должным образом.

Предупреждения о цепочке назначений

Pandas выдает предупреждения SettingWithCopy, указывающие на потенциальную неэффективность цепочек назначений. Предупреждения предупреждают пользователей о том, что назначения могут не обновлять исходный фрейм данных должным образом.

Копии и ссылки

При ссылке на серию Pandas или фрейм данных возвращается копия. Это может привести к ошибкам, если объект, на который ссылаются, впоследствии будет изменен. Например, следующий код может вести себя не так, как ожидалось:

data['amount'] = data['amount'].fillna(float)

Приведенное выше присвоение создает копия серии data['amount'], которая затем обновляется. Это предотвращает обновление исходного фрейма данных.

Операции на месте

Чтобы избежать создания ненужных копий, Pandas предоставляет операции на месте, обозначаемые .inplace(True). Эти операции напрямую изменяют исходный фрейм данных:

data['amount'].fillna(data.groupby('num')['amount'].transform('mean'), inplace=True)

Преимущества отказа от связанных присвоений

Использование операций на месте или отдельных присвоений имеет ряд преимуществ:

  • Повышает производительность за счет предотвращения ненужного копирования.
  • Повышает ясность кода за счет явного указания изменения данных.
  • Включает цепочку нескольких операций над копиями, например:
data['amount'] = data['amount'].fillna(mean_avg) * 2

Заключение

Понимание цепочки присваиваний в Pandas имеет решающее значение для оптимизации эффективности кода и предотвращения ошибок модификации данных. Следуя рекомендациям, изложенным в этой статье, вы можете обеспечить точность и производительность операций Pandas.

Заявление о выпуске Эта статья перепечатана по адресу: 1729721319. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3