Удаление строк панд для всей группы в зависимости от условия - PullRequest
0 голосов
/ 07 октября 2019
import seaborn
df = seaborn.load_dataset('flights')

Я хочу отбросить годы, когда среднее число пассажиров в год меньше 200. Я пробовал это

df[df.groupby(['year'])['passengers'].mean() > 200] 

, но получаю эту ошибку:

*** pandas.core.indexing.IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).

В правильном ответе датафрейм должен содержать строки за эти годы: 1949, 1950, 1951, 1952

1 Ответ

1 голос
/ 07 октября 2019

Я думаю, вам нужно:

  • группа по год ,
  • фильтр групп,проверка, является ли среднее значение пассажиров в текущей группе> 300.

Таким образом, код должен быть:

df.groupby(['year']).filter(lambda x: x.passengers.mean() > 300)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...