Удалить столбцы в соответствии с некоторыми критериями - PullRequest
0 голосов
/ 06 декабря 2018

Например, у меня есть фрейм данных с именем dat, затем я хочу применить функцию к каждому столбцу фрейма данных, если возвращаемое значение равно Ture, затем сохранить этот столбец и перейти к следующему столбцу, если возвращаемое значение равно False, затем опустите этот столбец и перейдите к следующему столбцу.

Я знаю, что могу написать цикл for, чтобы сделать это, но есть ли эффективный способ сделать это?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете сделать это, используя логический индекс для df.columns:

Я хочу отбросить все столбцы, где «сумма» для простоты больше 50

df = pd.DataFrame({'A':[2,4,6,8],'B':[101,102,102,102]})

r = df.apply(np.sum) # applies the sum function to all columns

c = r <= 50 #create boolean test for columns

df[c[c].index] #Use boolea indexing to get columns and column filter for dataframe

Вывод:

   A
0  2
1  4
2  6
3  8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...