Итерация по подмножеству объекта Pandas groupby - PullRequest
0 голосов
/ 03 мая 2019

У меня есть объект Pandas groupby, и я бы хотел перебрать первые n группы. Я пробовал:

import pandas as pd
df = pd.DataFrame({'A':['a','a','a','b','b','c','c','c','c','d','d'],
                   'B':[1,2,3,4,5,6,7,8,9,10,11]})

df_grouped = df.groupby('A')
i = 0
n = 2 # for instance
for name, group in df_grouped:
    #DO SOMETHING
    if i == n: 
        break
    i += 1 

и

group_list = list(df_grouped.groups.keys())[:n]
for name in group_list:
    group = df_grouped.get_group(name)
    #DO SOMETHING

но мне было интересно, есть ли более элегантный / питонский способ сделать это?

В моем действующем групповом элементе тысячи групп, и я хотел бы выполнить операцию только над подмножеством, просто чтобы получить представление о данных в целом.

1 Ответ

1 голос
/ 03 мая 2019

Вы можете фильтровать с вашим оригинальным df, тогда мы можем сделать все остальное, что вам нужно сделать

yourdf=df[df.groupby('A').ngroup()<=1]

yourdf=df[pd.factorize(df.A)[0]<=1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...