Как удалить столбец в dataframe python
Перейти к содержимому

Как удалить столбец в dataframe python

  • автор:

Как удалить столбцы в Pandas (4 примера)

Вы можете использовать функцию drop() , чтобы удалить один или несколько столбцов из кадра данных pandas:

#drop one column by name df.drop('column_name', axis= 1 , inplace= True ) #drop multiple columns by name df.drop(['column_name1', 'column_name2'], axis= 1 , inplace= True ) #drop one column by index df.drop (df.columns [[0]], axis= 1 , inplace= True ) #drop multiple columns by index df.drop (df.columns[[0,2,5]], axis= 1 , inplace= True ) 

Обратите внимание на следующее:

  • Аргумент оси указывает, следует ли удалить строки (0) или столбцы (1).
  • Аргумент inplace указывает, что столбцы должны быть удалены без переназначения DataFrame.

В следующих примерах показано, как использовать эту функцию на практике со следующими пандами DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df A B C 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12 

Пример 1. Удаление одного столбца по имени

В следующем коде показано, как удалить один столбец из DataFrame по имени:

#drop column named 'B' from DataFrame df.drop('B', axis= 1 , inplace= True ) #view DataFrame df A C 0 25 11 1 12 8 2 15 10 3 14 6 4 19 6 5 23 5 6 25 9 7 29 12 

Пример 2. Удаление нескольких столбцов по имени

В следующем коде показано, как удалить несколько столбцов по имени:

#drop columns 'A' and 'C' from DataFrame df.drop(['A', 'C'], axis= 1 , inplace= True ) #view DataFrame df B 0 5 1 7 2 7 3 9 4 12 5 9 6 9 7 4 

Пример 3. Удаление одного столбца по индексу

В следующем коде показано, как удалить один столбец по индексу:

#drop first column from DataFrame df.drop (df.columns [[0]], axis= 1 , inplace= True ) #view DataFrame df B C 0 5 11 1 7 8 2 7 10 3 9 6 4 12 6 5 9 5 6 9 9 7 4 12 

Пример 4. Удаление нескольких столбцов по индексу

В следующем коде показано, как удалить несколько столбцов по индексу:

#drop multiple columns from DataFrame df.drop (df.columns [[0, 1]], axis= 1 , inplace= True ) #view DataFrame df C 0 11 1 8 2 10 3 6 4 6 5 5 6 9 7 12 

Как удалить первый столбец в Pandas DataFrame(3 метода)

Вы можете использовать один из следующих трех методов, чтобы удалить первый столбец в pandas DataFrame:

Способ 1: Используйте дроп

df.drop (columns=df.columns [0], axis= 1 , inplace= True ) 

Способ 2: использовать iloc

df = df.iloc [: , 1:] 

Способ 3: Используйте del

del df[df.columns [0]] 

Каждый метод дает один и тот же результат.

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team position assists rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12 

Способ 1: Используйте дроп

В следующем коде показано, как использовать функцию drop() для удаления первого столбца кадра данных pandas:

#drop first column of DataFrame df.drop (columns=df.columns [0], axis= 1 , inplace= True ) #view updated DataFrame df position assists rebounds 0 G 5 11 1 G 7 8 2 F 7 10 3 F 9 6 4 G 12 6 5 G 9 5 6 F 9 9 7 F 4 12 

Обратите внимание, что первый столбец под названием «команда» был удален из DataFrame.

Также обратите внимание, что мы должны использовать inplace=True для удаления столбца в исходном DataFrame.

Способ 2: использовать iloc

В следующем коде показано, как использовать функцию iloc для удаления первого столбца кадра данных pandas:

#drop first column of DataFrame df = df.iloc [: , 1:] #view updated DataFrame df position assists rebounds 0 G 5 11 1 G 7 8 2 F 7 10 3 F 9 6 4 G 12 6 5 G 9 5 6 F 9 9 7 F 4 12 

Обратите внимание, что первый столбец под названием «команда» был удален из DataFrame.

Способ 3: Используйте del

В следующем коде показано, как использовать функцию del для удаления первого столбца кадра данных pandas:

#drop first column of DataFrame del df[df.columns [0]] #view updated DataFrame df position assists rebounds 0 G 5 11 1 G 7 8 2 F 7 10 3 F 9 6 4 G 12 6 5 G 9 5 6 F 9 9 7 F 4 12 

Обратите внимание, что первый столбец под названием «команда» был удален из DataFrame.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Добавление и удаление столбцов и строк в Pandas: Руководство с примерами

Добро пожаловать в мир Pandas — мощной библиотеки для анализа данных! Сегодня мы рассмотрим, как добавлять и удалять столбцы и строки в Pandas.

Краткое содержание

В библиотеке Pandas есть несколько способов добавления и удаления столбцов и строк в DataFrame. Вот некоторые из них.

Добавление столбцов в pandas

Вы можете добавить новый столбец в DataFrame, присвоив ему значения. Вот пример:

import pandas as pd # Создание DataFrame df = pd.DataFrame() # Добавление нового столбца df['C'] = [7, 8, 9] # Просмотр DataFrame print(df)

Удаление столбцов в pandas

Чтобы удалить столбец в Pandas, вы можете использовать метод drop() или метод pop() . Вот несколько способов удаления столбца:

  1. Использование метода drop() :
import pandas as pd # Создание DataFrame df = pd.DataFrame() # Удаление столбца 'B' df = df.drop('B', axis=1) # Вывод обновленного DataFrame print(df)

Этот код удалит столбец ‘B’ из DataFrame df .

  1. Использование метода pop() :
import pandas as pd # Создание DataFrame df = pd.DataFrame() # Удаление столбца 'B' df.pop('B') # Вывод обновленного DataFrame print(df)

Этот код также удалит столбец ‘B’ из DataFrame df .

Оба этих метода изменяют исходный DataFrame и возвращают обновленный DataFrame без указанного столбца.

Добавление строки в pandas

Вы можете добавить новую строку в DataFrame, используя метод append() . Вот пример:

import pandas as pd # Создание DataFrame df = pd.DataFrame() # Создание новой строки new_row = pd.Series() # Добавление новой строки df = df.append(new_row, ignore_index=True) # Просмотр DataFrame print(df)

Удаление строки в pandas

Вы можете удалить строку из DataFrame с помощью метода drop() . Вот пример:

import pandas as pd # Создание DataFrame df = pd.DataFrame() # Удаление строки df.drop(1, inplace=True) # Просмотр DataFrame print(df)

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

Удаление столбцов с определенной строкой в Pandas DataFrame

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

Скопировать код

df = df.drop([col for col in df.columns if 'substring' in col], axis=1)

Такой синтаксически компактный пример команды позволит удалить из DataFrame все столбцы, в названиях которых упоминается ‘substring’.

Различные способы удаления столбцов

Рассмотрим различные подходы, помогающие решить эту задачу в соответствии с контекстом.

Игнорирование регистра

В случае, если регистр подстроки при поиске не имеет значения, применяйте метод lower() :

Скопировать код

df = df.drop([col for col in df.columns if 'substring'.lower() in col.lower()], axis=1)

Использование регулярных выражений

Для более гибкого поиска можно использовать str.contains с регулярными выражениями:

Скопировать код

df = df[df.columns[~df.columns.str.contains('substring', regex=True)]]

Применение функции filter

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

Скопировать код

df = df.drop(df.filter(like='substring').columns, axis=1)

Методы startswith и endswith

Для удаления столбцов, которые начинаются или заканчиваются определенной последовательностью символов, используйте startswith и endswith :

Скопировать код

df = df.drop([col for col in df.columns if col.startswith('substring')], axis=1) df = df.drop([col for col in df.columns if col.endswith('substring')], axis=1)

Не забывайте указывать axis=1 при работе со столбцами.

Как избежать распространенных ошибок

Опыт работы с DataFrame говорит о ряде типичных ошибок, избежание которых положительно сказывается на качестве кода.

Обход предупреждения SettingWithCopyWarning

Для предотвращения появления предупреждения SettingWithCopyWarning , используйте copy() :

Скопировать код

df_clean = df.drop([col for col in df.columns if 'substring' in col], axis=1).copy()

Задействование сложных условий выбора

В сложных задачах и при работе с большим обьемом данных условия могут объединяться:

Скопировать код

df = df.drop(df.columns[(df.columns.str.contains('substring')) | (df.columns.str.contains('another'))], axis=1)

Сохранение исходного DataFrame

Для сохранения исходного DataFrame без изменений, присваивайте результат операции новой переменной:

Скопировать код

df_filtered = df.drop([col for col in df.columns if 'substring' in col], axis=1)

Визуализация

Восприятие проблемы упрощается, если есть возможность взглянуть на неё.

Продумайте DataFrame как о саде с клумбами – столбцами, каждая из которых имеет своё «имя».

Скопировать код

Сад DataFrame: [�� Маргаритка, �� Подсолнух, �� Роза_содержит_стр, �� Тюльпан]

Удаление столбцов можно сравнить с избавлением от сорняков:

Скопировать код

df = df.drop([col for col in df.columns if 'содержит_стр' in col], axis=1)

Теперь сад вашего DataFrame выглядит ухоженным и аккуратным:

Скопировать код

Очищенный сад: [�� Маргаритка, �� Подсолнух, �� Тюльпан]

Оптимизация работы с данными

Работа с pandas предполагает не только использование мощных инструментов, но и стремление к элегантности в коде.

Мощь инструментов pandas

Воспользуйтесь всем арсеналом полезных методов для строк, таких как str.contains , str.startswith , str.endswith , чтобы сделать вашу работу с данными максимально эффективной.

Упрощение программирования на Python

Python предлагает удивительные возможности использования списочных выражений и лямбда-функций. Они помогают реализовывать сложные операции в pandas поистине легко.

Полезные материалы

  1. pandas.DataFrame.drop — документация pandas 2.2.0
  2. python – Как отбирать строки из DataFrame основываясь на значениях столбцов? – Stack Overflow
  3. pandas.Series.str.contains — документация pandas 2.2.0
  4. Применение лямбда-функций в Python – Real Python
  5. Подробное руководство по Python
  6. SettingwithCopyWarning: как корректно обойти это предупреждение в Pandas – Dataquest
  7. Использование функций apply и lambda в pandas. Освойте, чтобы достичь мастерства в Pandas | автор Рахул Агарвал

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *