Как выбирать строки на основе определенных условий диапазона столбцов в pandas

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

Предположим, у меня есть следующий фрейм данных:

 A B C D E F
1 1 1 0 0 0
0 0 0 0 0 0
1 1 0.9 1 0 0
0 0 0 0 -1.95 0
0 0 0 0 2.75 0
1 1 1 1 1 1
 

Я хочу выбрать строки, в которых есть только нули или единицы, основанные на столбцах C, D, E and F . Для этого примера ожидаемый результат

  A B C D E F
 1 1 1 0 0 0
 0 0 0 0 0 0
 1 1 1 1 1 1
 

Как я могу это сделать, учитывая диапазон столбцов в pandas?

Заранее спасибо.

Ответ №1:

 df.loc[df[['C','D','E','F']].isin([1,0]).all(axis=1)]
 

Комментарии:

1. Как я могу сделать это с определенным диапазоном столбцов?

2. @orbit что вы имеете в виду? Вы можете определить specific_range_of_columns как список того, что вам нужно ( specific_range_of_columns = ['C', 'D', 'E', 'F'] например), а затем df[specific_range_of_columns] вместо df[['C', 'D', 'E', 'F']] того, чтобы внутри loc .