熊猫套用功能-行过滤的语法

时间:2020-03-07 04:52:21

标签: python pandas group-by apply

类似于previous question,在使用groupBy之后,我需要对某些数据使用apply函数。

假设我们有以下具有列头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()

我需要通过过滤器对结果进行过滤,以仅显示C为3的那些,但是会出现错误。

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

先谢谢您。

1 个答案:

答案 0 :(得分:1)

您可以在此处将.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