отобрать столбцы из DataFrame не удовлетворяющие условию
Задача: из исходного DataFrame отобрать все столбцы, названия которых не содержатся в заданном списке имен.
Пример:
index a b x d y f
1 0 1 0 1 0 1
Надо отобрать все столбцы, кроме x,y.
Ожидаемый результат:
index a b d f
1 0 1 1 1
В документации нашел только как фильтровать с использованием тильды (по булеву индексу), но синтаксиса для отбора колонок придумать не могу.
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
воспользуйтесь DataFrame.drop(columns=[...]):
res = df.drop(columns=['x','y'])
или:
res = df.loc[:, df.columns.difference(['x','y'])]
результат:
In [26]: res
Out[26]:
a b d f
index
1 0 1 1 1
Автор решения: strawdog
→ Ссылка
showme = ['a', 'b', 'd', 'f']
print(df[showme])
a b d f
index
1 0 1 1 1