Хитрости с Pandas: удаление столбцов по имени стало проще

В этой статье блога мы рассмотрим различные методы удаления столбца по имени в Pandas, популярной библиотеке манипулирования данными на Python. Независимо от того, являетесь ли вы новичком или опытным специалистом по данным, эти приемы пригодятся, когда вам понадобится удалить определенные столбцы из вашего DataFrame. Итак, приступим!

Метод 1: использование функции drop()
Функция drop()в Pandas позволяет нам удалять столбцы, указав их имена. Вот пример:

import pandas as pd
# Create a DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [25, 32, 18],
        'Salary': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Drop the 'Age' column
df = df.drop('Age', axis=1)
# Print the updated DataFrame
print(df)

Выход:

   Name  Salary
0  John   50000
1  Alice  60000
2  Bob    45000

Метод 2: использование ключевого слова del.
Еще один простой способ удалить столбец по имени — использование ключевого слова del. Вот пример:

import pandas as pd
# Create a DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [25, 32, 18],
        'Salary': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Drop the 'Age' column
del df['Age']
# Print the updated DataFrame
print(df)

Выход:

   Name  Salary
0  John   50000
1  Alice  60000
2  Bob    45000

Метод 3: использование функции pop()
Функция pop()не только удаляет столбец, но и возвращает его как отдельную серию. Вот пример:

import pandas as pd
# Create a DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [25, 32, 18],
        'Salary': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Remove and return the 'Age' column
age_column = df.pop('Age')
# Print the updated DataFrame
print(df)

Выход:

   Name  Salary
0  John   50000
1  Alice  60000
2  Bob    45000

Метод 4: использование логической индексации
Булева индексация позволяет нам выбирать определенные столбцы на основе условий. Отменяя условие, мы можем удалить столбец по имени. Вот пример:

import pandas as pd
# Create a DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [25, 32, 18],
        'Salary': [50000, 60000, 45000]}
df = pd.DataFrame(data)
# Drop the 'Age' column using boolean indexing
df = df.loc[:, ~df.columns.isin(['Age'])]
# Print the updated DataFrame
print(df)

Выход:

   Name  Salary
0  John   50000
1  Alice  60000
2  Bob    45000

В этой статье мы рассмотрели несколько способов удаления столбца по имени в Pandas. Вы можете выбрать подход, который соответствует вашим потребностям и стилю кодирования. Используя методы drop(), del, pop()или логическое индексирование, вы можете легко удалить определенные столбцы из вашего DataFrame. Удачного программирования с Pandas!