Исключить один столбец в соответствии шаблону - PullRequest
2 голосов
/ 05 марта 2020

У меня есть фрейм данных с несколькими столбцами

 ID|NAME|CITY|AGE|A Bot(S)_S|B Cost_S|C Value(!)_S|D Bot($)_S|E Value(!)_S

Я могу найти столбцы, заканчивающиеся на '_S', используя следующий код

 df.columns[df.columns.str.contains('_S')]

Но мне нужен один или несколько столбцы, которые нужно исключить, пример: 'D Bot ($) _ S' во время выборки.

РЕДАКТИРОВАТЬ: Исправление в именах столбцов, между которыми есть пробел.

Как я могу это сделать?

Ответы [ 3 ]

1 голос
/ 05 марта 2020

Использование pandas.DataFrame.filter:

df.filter(regex="[^D]_S")
1 голос
/ 05 марта 2020

Попробуйте:

ОБНОВЛЕНИЕ:

df.columns[df.columns.str.contains(r"^[^D].*_S")]
1 голос
/ 05 марта 2020

РЕДАКТИРОВАТЬ

Это дает вам то, что вам нужно (регулярное выражение читается как все, что не начинается с D, за которым следует что-либо - обозначается .* и, наконец, _S):

df.columns[df.columns.str.contains('^[^D].*_S')]

Если вы хотите исключить что-то еще, начинающееся с A вместо Auto Bot($)_S, измените D на A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...