pandas: Как получить доступ к сгруппированным элементам один за другим после `groupby.x.apply`? - PullRequest
1 голос
/ 06 марта 2020

У меня есть такой фрейм данных

import pandas as pd
df = pd.DataFrame({
  "f":["sum", "min", "max"],
  "t":[2, 2, 3]
})

, поэтому я суммирую df

df1 = df.groupby("t").f.apply(lambda x:[x])

, который дает

t
2    [[sum, min]]
3         [[max]]
Name: f, dtype: object

, но как мне обратиться в столбец с данными [[sum,min]], [[max]]?

Я пытался

for t in df1.index:
  print(df1[t].f)

, и я ожидал распечатки

[[sum,min]]
[[max]]

, но я просто получаю сообщение об ошибке:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
AttributeError: 'list' object has no attribute 'f'

Как ссылаться на столбцы, которые я создаю с помощью apply в каждой группе?

1 Ответ

1 голос
/ 06 марта 2020

вы можете попробовать:

for f in df.groupby('t').f.agg(list):
    print(f)
#out
['sum', 'min']
['max']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...