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

Когда Pandas создает представление, а не копию?

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

When Does Pandas Create a View vs a Copy?

Правила Pandas для просмотра и создания копий

Pandas использует определенные правила при принятии решения о том, приводит ли операция среза к DataFrame к представлению или к копия. Понимая эти правила, вы сможете оптимизировать манипулирование данными и избежать неожиданного поведения.

Начиная с операций, которые всегда создают копии:

  1. Все операции, кроме тех, которые специально предназначены для изменения DataFrame на месте, создайте копии.
  2. Только определенные операции поддерживают параметр inplace=True, который позволяет вносить изменения непосредственно в оригинал. DataFrame.

Далее давайте рассмотрим операции, которые могут привести к представлениям:

  1. Индексатор, который устанавливает значения, такие как .loc, .iloc, .iat и . at работает на месте, изменяя исходный DataFrame без создания копии.
  2. Индексатор, извлекающий данные из объект с одним типом d обычно создает представление, если базовая структура памяти не исключает эту оптимизацию.
  3. И наоборот, индексатор, который извлекает данные из объекта с несколькими типами d, всегда создает копию.

Что касается ваших примеров:

  • df.query('2
  • df.iloc[3] = 70 и df.ix[1, 'B':'E'] = 222 изменяют df, поскольку они обращаются к объектам с одним типом d и устанавливают значения на месте.
  • df[df.C
  • Однако df[df.C

Чтобы изменить определенные значения на основе запроса, используйте правильный loc синтаксис:

df.loc[df.C 

Придерживаясь этих правил, вы сможете получить четкое представление о том, когда Pandas генерирует представления или копии, обеспечивая эффективное манипулирование данными в ваших скриптах Python.

Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3