Удаление нескольких столбцов, когда имя столбца содержит пробелы pandas

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

У меня есть df

 Col 1    Col 2    Col3  Col4
11         10      s     1
12         22      g     10
 

Если я найду имена столбцов и сделаю

 <<df.columns
>>Index(['Col 1', 'Col 2' , 'Col3', 'Col4'])
 

Если я хочу удалить Col 1 и Col 2 из моего df, то что делать:

 df.drop(['Col 1, Col 2'], axis=1)
 

Я получаю сообщение об ошибке:

 KeyError: "['Col 1, Col 2'] not found in axis"
 

Редактировать:

Он работает с нижеприведенным синтаксисом

  df.drop(['Col 1', 'Col 2'], axis=1)
 

Ответ №1:

При необходимости удалите столбцы с пробелами:

 df = df.loc[:, ~df.columns.str.contains('s')]
print (df)
  Col3  Col4
0    s     1
1    g    10
 

Но, возможно, пробел — это не пробел, вы можете проверить это ord , потому что пробел есть 32 :

 a = [ord(x) for x in df.columns[0]]
print (a)
[67, 111, 108, 32, 49]