В моем DataFrame есть несколько столбцов со значениями 0 и 1
name a b c d e
0 one 1 0 1 0 0
1 two 0 0 1 0 0
2 three 0 0 1 0 1
Как выбрать столбцы, в которых хотя бы одно значение равно 1? Но должны быть выбраны и другие столбцы (которые являются строками или имеют значения не только 0 и 1).
Я пробовал это выражение
df.iloc[:, [(clm == 'name') | (1 in df[clm].unique()) for clm in df.columns]]
Out:
name a c e
0 one 1 1 0
1 two 0 1 0
2 three 0 1 1
Но это не очень хорошо, потому что я явно выбираю столбец 'имя'