Как удалить лишние столбцы в pandas?

Чтобы удалить лишние столбцы в Pandas, можно воспользоваться методом drop(). Если вы хотите удалить один или несколько столбцов по имени, вы можете передать их в аргумент columns и указать значение axis=1. Например:

import pandas as pd

# Создание DataFrame
data = {'Имя': ['Анна', 'Борис', 'Клара'],
        'Возраст': [25, 32, 29],
        'Город': ['Москва', 'Санкт-Петербург', 'Екатеринбург'],
        'Зарплата': [50000, 60000, 45000]}

df = pd.DataFrame(data)

# Удаление столбцов 'Город' и 'Зарплата'
df = df.drop(columns=['Город', 'Зарплата'], axis=1)

print(df)
    
Если вы хотите удалить столбцы по индексу, вы можете передать индекс(ы) в аргумент columns. Например:

import pandas as pd

# Создание DataFrame
data = {'Имя': ['Анна', 'Борис', 'Клара'],
        'Возраст': [25, 32, 29],
        'Город': ['Москва', 'Санкт-Петербург', 'Екатеринбург'],
        'Зарплата': [50000, 60000, 45000]}

df = pd.DataFrame(data)

# Удаление столбцов с индексом 2 и 3
df = df.drop(columns=df.columns[[2, 3]])

print(df)
    
Удачи в работе с Pandas!

Детальный ответ

Как убрать лишние столбцы в pandas

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

Использование метода drop()

Один из способов удалить столбцы - это использовать метод drop(). Этот метод позволяет удалить один или несколько столбцов по их именам.

Вот простой пример:


import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [22, 28, 25],
        'Город': ['Москва', 'Санкт-Петербург', 'Казань']}

df = pd.DataFrame(data)

# Удаляем столбец 'Город'
df = df.drop('Город', axis=1)

print(df)

Результат выполнения кода:


       Имя  Возраст
0  Алексей      22
1    Мария      28
2     Иван      25

В примере мы создали DataFrame с тремя столбцами: 'Имя', 'Возраст' и 'Город'. После выполнения кода df = df.drop('Город', axis=1) столбец 'Город' удален из DataFrame.

Использование оператора del

Другой способ удалить столбец - использовать оператор del. Оператор del позволяет удалить столбец по его имени или индексу.

Вот пример:


import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [22, 28, 25],
        'Город': ['Москва', 'Санкт-Петербург', 'Казань']}

df = pd.DataFrame(data)

# Удаляем столбец 'Город'
del df['Город']

print(df)

Результат выполнения кода:


       Имя  Возраст
0  Алексей      22
1    Мария      28
2     Иван      25

Аналогично предыдущему примеру, столбец 'Город' был удален из DataFrame при помощи оператора del.

Использование метода pop()

Метод pop() также позволяет удалить столбец из DataFrame, но в отличие от предыдущих методов, он возвращает удаленный столбец как отдельный Series.

Пример:


import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [22, 28, 25],
        'Город': ['Москва', 'Санкт-Петербург', 'Казань']}

df = pd.DataFrame(data)

# Удаляем столбец 'Город' и сохраняем его в переменную
city = df.pop('Город')

print(df)
print(city)

Результат выполнения кода:


       Имя  Возраст
0  Алексей      22
1    Мария      28
2     Иван      25

0            Москва
1    Санкт-Петербург
2             Казань
Name: Город, dtype: object

Как видно из результата выполнения кода, столбец 'Город' был удален из DataFrame, а его значения были сохранены в переменной city в виде Series.

Использование оператора df.drop()

Еще один способ удаления столбцов - это использование оператора df.drop(). Этот оператор позволяет удалить один или несколько столбцов по их индексу. Но в отличие от метода drop(), в данном случае удаление происходит без изменения исходного DataFrame.

Пример:


import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [22, 28, 25],
        'Город': ['Москва', 'Санкт-Петербург', 'Казань']}

df = pd.DataFrame(data)

# Удаляем столбец по индексу
new_df = df.drop(df.columns[1], axis=1)

print(df)
print(new_df)

Результат выполнения кода:


       Имя  Возраст         Город
0  Алексей      22        Москва
1    Мария      28  Санкт-Петербург
2     Иван      25         Казань

       Имя         Город
0  Алексей        Москва
1    Мария  Санкт-Петербург
2     Иван         Казань

Как видно из результата выполнения кода, столбец 'Возраст' был успешно удален из DataFrame при помощи оператора df.drop(). Новый DataFrame был сохранен в переменной new_df, при этом исходный DataFrame df остался без изменений.

Использование команды loc()

Команда loc() используется для доступа и изменения элементов в DataFrame. Она также позволяет удалить столбец из DataFrame.

Пример:


import pandas as pd

# Создаем DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [22, 28, 25],
        'Город': ['Москва', 'Санкт-Петербург', 'Казань']}

df = pd.DataFrame(data)

# Удаляем столбец 'Имя'
df.loc[:, ~df.columns.isin(['Имя'])]

print(df)

Результат выполнения кода:


       Имя  Возраст         Город
0  Алексей      22        Москва
1    Мария      28  Санкт-Петербург
2     Иван      25         Казань

Как видно из результата выполнения кода, столбец 'Имя' был удален из DataFrame при помощи команды df.loc().

Вывод

В этой статье мы рассмотрели несколько способов удаления лишних столбцов в pandas. Один из самых распространенных способов - использовать метод drop(), который позволяет удалить столбец по его имени или индексу. Мы также рассмотрели использование оператора del для удаления столбца, метода pop() для удаления столбца и возврата его как отдельного Series, оператора df.drop() для удаления столбца по индексу и команды df.loc() для удаления столбца из DataFrame.

Теперь вы знаете, как выбрать наиболее подходящий способ удаления столбцов в зависимости от ваших потребностей. Успешной работы с pandas!

Видео по теме

Pandas Базовый №4. Операции со столбцами DataFrame

Pandas Базовый №3. Отбор строк и столбцов, Размерность, Импорт CSV

Удаление пустых строк и столбцов в Excel

Похожие статьи:

Как удалить лишние столбцы в pandas?

🔥 Как превратить столбец в строку в pandas: легкий шаг-за-шагом гайд