Как удалить столбцы по индексу в Pandas


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

#drop first column from DataFrame
df.drop (df.columns [0], axis= 1 , inplace= True )

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

#drop first, second, and fourth column from DataFrame
cols = [0, 1, 3]
df.drop (df.columns [cols], axis= 1 , inplace= True )

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

#define list of columns
cols = [x for x in range(df.shape [1])]

#drop second column
cols. remove (1)

#view resulting DataFrame
df.iloc [:, cols]

В следующих примерах показано, как на практике удалять столбцы по индексу.

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

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]})

#drop first column from DataFrame
df.drop (df.columns [0], axis= 1 , inplace= True )

#view resulting dataFrame
df

 first last points
0 Dirk Nowitzki 26
1 Kobe Bryant 31
2 Tim Duncan 22
3 Lebron James 29

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

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]})

#drop first, second and fourth columns from DataFrame
cols = [0, 1, 3] 
df.drop (df.columns [cols], axis= 1 , inplace= True )

#view resulting dataFrame
df

 last
0 Nowitzki
1 Bryant
2 Duncan
3 James

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

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]},
 columns=['team', 'last', 'last', 'points'])

#define list of columns range
cols = [x for x in range(df.shape [1])]

#remove second column in DataFrame
cols. remove (1)

#view resulting DataFrame
df.iloc [:, cols]

 team last points
0 Mavs Nowitzki 26
1 Lakers Bryant 31
2 Spurs Duncan 22
3 Cavs James 29

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

Как объединить два столбца в Pandas
Pandas: как сортировать столбцы по имени
Pandas: как найти разницу между двумя столбцами
Pandas: как суммировать столбцы на основе условия