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


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

#exclude column1
df.loc[:, df.columns !='column1']

#exclude column1, column2, ...
df.loc[:, ~df.columns.isin(['column1', 'column2', ...])]

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

Пример 1: исключить один столбец

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

import pandas as pd

#create DataFrame 
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
 'blocks': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

 points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 3
3 14 9 6 5
4 19 12 6 3
5 23 9 5 2
6 25 9 9 1
7 29 4 12 2

#select all columns except 'rebounds'
df.loc[:, df.columns !='rebounds']

 points assists blocks
0 25 5 2
1 12 7 3
2 15 7 3
3 14 9 5
4 19 12 3
5 23 9 2
6 25 9 1
7 29 4 2

Пример 2. Исключение нескольких столбцов

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

import pandas as pd

#create DataFrame 
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
 'blocks': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

 points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 3
3 14 9 6 5
4 19 12 6 3
5 23 9 5 2
6 25 9 9 1
7 29 4 12 2

#select all columns except 'rebounds' and 'assists'
df.loc[:, ~df.columns.isin(['rebounds', 'assists'])]

 points blocks
0 25 2
1 12 3
2 15 3
3 14 5
4 19 3
5 23 2
6 25 1
7 29 2

Используя этот синтаксис, вы можете исключить любое количество столбцов по имени.

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

Как добавить строки в Pandas DataFrame
Как добавить массив Numpy в фрейм данных Pandas
Как подсчитать количество строк в Pandas DataFrame