我有一个数据帧df
:
ID Height
A 168
A 170
A 190
A 159
B 172
B 173
C 185
我试图分别使用以下方法从每个ID
中消除df
中的异常值:
outliersfree = df[df.groupby("ID")['Height'].transform(lambda x : x < (x.quantile(0.95) + 5*(x.quantile(0.95) - x.quantile(0.05)))).eq(1)]
在这里,我想忽略具有唯一索引的行。i、 例如,其中只有一个对应项的所有ID
。例如,在给定的df
中,C
索引只有一个条目。因此,我希望在消除异常值的同时忽略C
,并将outliersfree
形成的新数据帧原样呈现出来
我还想知道如何忽略/跳过有两个条目的ID
(例如,df
中的B
)
一个选项是在lambda函数中创建OR条件,这样,如果组中有一个元素,则返回True
您可以使用
(x.count() < 3)
来表示两个或两个以下的组相关问题 更多 >
编程相关推荐