Как исключить более одной группы в группе с помощью Python? - PullRequest
0 голосов
/ 26 апреля 2019

Я сгруппировал количество клиентов по регионам и годам, к которым присоединился groupby в Python. Однако я хочу удалить несколько регионов из группы регионов.

Я знаю, чтобы исключить одну группу из groupby, вы можете использовать следующий код:

grouped = df.groupby(['Region'])
df1 = df.drop(grouped.get_group(('Southwest')).index).

Поэтому я изначально попробовал следующее:

grouped = df.groupby(['Region'])
df1 = df.drop(grouped.get_group(('Southwest','Northwest')).index)

Однако это дало мне явную ошибку ('Southwest','Northwest').

Теперь мне интересно, есть ли способ отбросить сразу несколько групп вместо того, чтобы мне приходилось многократно набирать код выше для каждой области, которую я хочу удалить.

Я ожидаю, что вывод окончательного запроса будет аналогичен изображению, показанному ниже, однако информацию о Северо-Западном и Юго-Западном регионах следует удалить. Groupby results

1 Ответ

0 голосов
/ 26 апреля 2019

Это не df1 = df.drop(grouped.get_group(('Southwest','Northwest')).index).grouped.get_group принимает одно имя в качестве аргумента.Если вы хотите удалить более одной группы, вы можете использовать df1 = df.drop((grouped.get_group('Southwest').index, grouped.get_group('Northwest').index)), поскольку drop может принимать список в качестве входных данных.

В качестве примечания, ('Southwest') оценивается как 'Southwest' (т.е. это некортеж).Если вы хотите сделать кортеж размера 1, это ('Southwest', )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...