Как удалить столбцы, содержащие определенные символы, кроме одного столбца?

#python #pandas

Вопрос:

Фрейм данных Pandas содержит 5 столбцов, в которых содержится «верификатор». Я хочу удалить все те столбцы, которые содержали «проверено», за исключением столбца с именем «проверено_90″ (фрейм данных Pandas). Я пытаюсь следовать коду, но он удаляет все столбцы, содержащие это конкретное слово.

Имена столбцов: проверено_30 проверено_60 проверено_90 проверено_365 логотип.проверено. проверенный.в и т. д

»»

 df = df[df.columns.drop(list(df.filter(regex='Test')))]
 

»»

Ответ №1:

Возможно, здесь вы сможете использовать подход с регулярным выражением:

 df = df[df.columns.drop(list(df.filter(regex='^(?!verified_90$).*verified.*


Ответ №2:

Фильтровать столбцы с не проверенными ИЛИ с verified_90 DataFrame.loc включенными , здесь : означает выбирать все строки и столбцы по маске:

 df.loc[:, ~df.columns.str.contains('verified') | (df.columns == 'verified_90')]
 

)))]

Ответ №2:

Фильтровать столбцы с не проверенными ИЛИ с verified_90 DataFrame.loc включенными , здесь : означает выбирать все строки и столбцы по маске: