如何从np.where条件中删除异常值

2024-03-29 05:11:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,它有一个异常值,我通过箱线图识别出来。然后,我通过np获取了它的值。但问题是,我不知道如何从我的数据帧中删除这个值及其整行,这样我就可以去除异常值

这是我迄今为止使用的代码:

sns.boxplot(x=df_cor_inc['rt'].astype(float))
outlier = np.where(df_cor_inc['rt'].astype(float)>50000)

任何帮助都会很好。谢谢


2条回答

试试这个:

df_cor_inc[np.where(df_cor_inc['rt'].astype(float)>50000,False,True)]

不需要np.where,一个简单的布尔掩码就可以做到:

df_cor_inc = df_cor_inc[df_cor_inc['rt'] <= 50000]]

还有,为什么要将df_cor_inc['rt']转换为float?它不是已经是数字了吗

如果要重置数据帧的索引,请在.reset_index(drop=True)上加上一个标记

相关问题 更多 >