Рубрики
Без рубрики

Что означает в Python?

Когда мы начинаем работу с пандами или даже просматриваем веб-сайты для запросов, связанных с операциями с пандами, мы часто сталкиваемся с параметром inplace, присутствующим в

Автор оригинала: Pankaj Kumar.

Когда мы начинаем работу с pandas или даже просматриваем веб-сайты для запросов, связанных с операциями pandas, мы часто сталкиваемся с параметром inplace , присутствующим в коде. Значение по умолчанию для in place равно False.

В этой статье мы рассмотрим функцию параметра inplace при выполнении операций с фреймом данных.

Что Делает Параметр inplace?

inplace=True используется в зависимости от того, хотим ли мы внести изменения в исходный df или нет.

Давайте рассмотрим операцию удаления строк, из которых были удалены записи NA. у нас есть фрейм данных (df).

df.dropna(axis='index', how='all', inplace=True)

В Панд приведенный выше код означает:

  1. Панды создают копию исходных данных.
  2. Выполняет на нем необходимую операцию.
  3. Присваивает результаты исходным данным. (Важный момент, который следует рассмотреть здесь).
  4. Затем удаляет копию.

Приведенный выше код не возвращает ничего, кроме изменения исходного фрейма данных .

Если inplace имеет значение False , то pandas вернет копию фрейма данных с выполненными над ним операциями.

В Pandas у нас есть много функций, которые имеют параметр inplace .

Итак, когда мы делаем df.dropna(axis='index',,) панды знают, что мы хотим изменить исходный фрейм данных, поэтому он выполняет необходимые изменения в исходном фрейме данных.

На месте В действии

Давайте посмотрим на параметр inplace в действии. Мы выполним операцию сортировки в наборе данных IRIS, чтобы продемонстрировать назначение параметра inplace .

Вы можете узнать больше о загрузке набора данных iris здесь .

# Importing required libraries
from sklearn.datasets import load_iris
import pandas as pd

#Loading the dataset
data = load_iris(as_frame=True)
df = pd.DataFrame(data.data)

df
Исходный фрейм данных

Теперь давайте выполним операцию сортировки по длине лепестка функции

df.sort_values('petal length (cm)' , ascending = True) #inplace by default set to False
Вывод После Сортировки

Теперь давайте проверим, что произошло с нашим исходным фреймом данных.

df
Исходный фрейм Данных, Когда Он Был На месте, Имел Значение По Умолчанию

Мы просто получили исходный фрейм данных при печати даже после того, как применили к нему операцию сортировки.

Так… что только что произошло?

Приведенный выше пример лучше всего демонстрирует применение параметра inplace.

По умолчанию установлено значение False, и из-за этого операция не изменяет исходный кадр данных. Вместо этого он возвращает копию, на которой выполняются операции.

Как и в приведенном выше коде, мы не назначили возвращаемый фрейм данных какой-либо новой переменной, мы не получили новый фрейм данных, который сортируется.

new_df = df.sort_values('petal length (cm)' , ascending = True , inplace=False)

new_df
Отсортирован Новый фрейм Данных, Когда На месте Установлено Значение False

Мы просто назначили возвращенный фрейм данных переменной, которую мы назвали new_df.

Теперь это отсортированная копия исходного фрейма данных.

Важным моментом, который следует учитывать здесь, является то, что исходный фрейм данных по-прежнему остается прежним и претерпел все указанные нами преобразования.

Теперь давайте посмотрим, что произойдет, если мы установим на место

df.sort_values('petal length (cm)' , ascending = True , inplace = True)

Запуск кода, похоже, не возвращает выходных данных. но подождите…!

После проверки исходного фрейма данных мы получаем суть того, что делает на месте .

df
Вывод, Когда На месте Установлено Значение True

Исходный фрейм данных был изменен после того, как мы установили в Python.

Вывод

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

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

Счастливого Обучения!