Как удалить один или несколько столбцов во фрейме данных с Pandas

Давайте обсудим, как удалить один или несколько столбцов в фрейме данных Pandas. Удалить столбец из фрейма данных Pandas или удалить один или более столбцов из фрейма данных можно несколькими способами.

Создайте простой фрейм данных со словарем списков, скажем, имена столбцов — A, B, C, D, E. В этой статье мы рассмотрим 6 различных методов удаления некоторых столбцов из фрейма данных Pandas.

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
df

Вывод:

Метод 1: Удалите столбцы из фрейма данных с помощью метода drop().

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

  • Python3

Вывод:

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

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
# Remove two columns name is 'C' and 'D'
df.drop(['C', 'D'], axis=1)
 
# df.drop(columns =['C', 'D'])

Вывод:

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

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
# Remove three columns as index base
df.drop(df.columns[[0, 4, 2]], axis=1, inplace=True)
 
df

Вывод:

Метод 2: удалите столбцы из фрейма данных, используя iloc[] и метод drop().

Удалите все столбцы между определенным столбцом в другой столбец.

  • Python3
# Import pandas package
import pandas as pd
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
# Remove all columns between column index 1 to 3
df.drop(df.iloc[:, 1:3], inplace=True, axis=1)
 
df

Вывод:

Метод 3: удалите столбцы из фрейма данных, используя ix() и метод drop().

Удалите все столбцы между определенным именем столбца и именем другого столбца.

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
# Remove all columns between column name 'B' to 'D'
df.drop(df.ix[:, 'B':'D'].columns, axis=1)

Вывод:

Метод 4: удалите столбцы из фрейма данных, используя loc[] и метод drop().

Удалите все столбцы между определенным именем столбца и именем другого столбца.

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
 
# Remove all columns between column name 'B' to 'D'
df.drop(df.loc[:, 'B':'D'].columns, axis=1)

Вывод:

Примечание: Разные loc() и iloc() — это iloc(), исключающие последний элемент диапазона столбца.

Метод 5: удаление столбцов из фрейма данных итеративным способом.

Удалите все столбцы между определенным именем столбца и именем другого столбца.

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
for col in df.columns:
    if 'A' in col:
        del df[col]
 
df

Вывод:

Метод 6: Python dataframe.pop() метод

  • Python3
# Import pandas package
import pandas as pd
 
# create a dictionary with five fields each
data = {
    'A': ['A1', 'A2', 'A3', 'A4', 'A5'],
    'B': ['B1', 'B2', 'B3', 'B4', 'B5'],
    'C': ['C1', 'C2', 'C3', 'C4', 'C5'],
    'D': ['D1', 'D2', 'D3', 'D4', 'D5'],
    'E': ['E1', 'E2', 'E3', 'E4', 'E5']}
 
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
df.pop('B')
 
df

Вывод:

A C D E
0 A1 C1 D1 E1
1 A2 C2 D2 E2
2 A3 C3 D3 E3
3 A4 C4 D4 E4
4 A5 C5 D5 E5

Автор А. Днепров

Обучаю основам работы с офисными программами.

Как удалить один или несколько столбцов во фрейме данных с Pandas
Как использовать окно слоев в Paint.Net