Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Когда работают с данными в Python, часто используется библиотека Pandas. Она позволяет удобно манипулировать данными с помощью структур данных, таких как DataFrame.
Иногда возникает необходимость удалить столбец из DataFrame. Это можно сделать разными способами. Один из них — использовать ключевое слово del
следующим образом:
del df['column_name']
Здесь df
— это DataFrame, а 'column_name'
— имя удаляемого столбца.
Однако, порой возникает вопрос: почему нельзя использовать следующий синтаксис для удаления столбца?
del df.column_name
Ведь для доступа к содержимому столбца мы можем использовать именно такой синтаксис: df.column_name
.
Ответ кроется в том, как Python обрабатывает операцию удаления del
. Когда мы пишем del df['column_name']
, Python ищет в df
элемент с ключом 'column_name'
и удаляет его. В этом случае, df
— это словарь (или похожая на словарь структура), а 'column_name'
— это ключ в этом словаре.
С другой стороны, когда мы пишем del df.column_name
, Python пытается удалить атрибут column_name
из объекта df
. В этом случае, df
— это объект, а column_name
— это атрибут этого объекта.
Но столбцы DataFrame в Pandas не являются атрибутами объекта DataFrame, они являются ключами в словаре, который представляет DataFrame. Поэтому del df.column_name
вызывает ошибку.
Вывод: для удаления столбца из DataFrame в Pandas используйте синтаксис del df['column_name']
, а не del df.column_name
.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий