Pandas Apply Function - Синтаксис для фильтрации строк - PullRequest
1 голос
/ 07 марта 2020

Подобно предыдущему вопросу , мне нужно использовать функцию apply для некоторых данных после использования groupBy.

Предположим, у нас есть следующий набор данных с заголовками столбцов A, B, C:

 a 0 2
 b 0 3
 c 0 4
 a 1 1
 b 1 2
 c 1 5
 a 0 3
 b 1 2
 c 0 1

и применяется следующая группа по:

   mydf=df.groupby(['A','B'])['C'].max()

I нужно отфильтровать группу по результату с помощью фильтра, чтобы показать только те, где C равно 3, но получить ошибку.

       print(mydf.apply(lambda g: g[g['C'] == 3]))

Спасибо заранее.

1 Ответ

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

Вы можете использовать .loc[] с lambda здесь:

df.groupby(['A','B'])['C'].max().loc[lambda x: x==3]

A  B
a  0    3
b  0    3
Name: C, dtype: int64
...