Как выбрать строки в кадре данных на основе условия - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть фрейм данных электронной почты, в котором я дал этот запрос:

williams = emails[emails["employee"] == "kean-s"]

Это выбирает все строки, в которых есть kean-ов сотрудников.Затем я считаю частоты и печатаю самые верхние.Вот как это делается:

williams["X-Folder"].value_counts()[:10]

Это дает следующий вывод:

attachments                   2026
california                     682
heat wave                      244
ferc                           188
pr-crisis management            92
federal legislation             88
rto                             78
india                           75
california - working group      72
environmental issues            71

Теперь мне нужно напечатать все строки из электронных писем, в которых столбец X_Folder равен вложениям, Калифорния, тепло и т. д. Как мне это сделать?Когда я печатаю значения [0], он просто возвращает номер частоты, а не соответствующий ему термин (попытался распечатать его, потому что, если я смогу пройти через него, я просто помещу условие в фрейм данных)

1 Ответ

1 голос
/ 25 сентября 2019

Используйте Series.isin с boolean indexing для значений индекса:

df = williams[williams["X-Folder"].isin(williams["X-Folder"].value_counts()[:10].index)]

Или:

df = williams[williams["X-Folder"].isin(williams["X-Folder"].value_counts().index[:10])]

При необходимостиотфильтруйте все строки в исходном DataFrame (также строки с несоответствующими kean-s), затем используйте:

df1 = emails[emails["X-Folder"].isin(williams["X-Folder"].value_counts().index[:10])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...