Pandas: новый фрейм данных из другого фрейма данных с условиями

#python #pandas

#python #pandas

Вопрос:

У меня есть следующий фрейм данных:

 A   |   B   |   C   |   D
1   |   2   |   4   |   5
0   |   2   |   5   |   2
1   |   1   |   2   |   1
  

Я хочу новый фрейм данных, который принимает только столбец B, C , но только где A == 1 . Это то, что я хочу:

 B   |   C
2   |   4
1   |   2
  

Хотя я могу сначала отфильтровать условие where A == 1 , а затем взять только столбец B, C из результата, но является ли это более «питоническим» способом сделать это?

Ответ №1:

Использовать DataFrame.loc с именами масок и столбцов в списке:

 df1 = df.loc[df.A == 1, ['B','C']]