小编Mi *_*unk的帖子

使用百分位删除Pandas DataFrame中的异常值

我有一个包含40列和许多记录的DataFrame df.

DF:

User_id | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 |...| Col39
Run Code Online (Sandbox Code Playgroud)

对于除user_id列之外的每个列,我想检查异常值并删除孔记录,如果出现异常值.

对于每行的异常值检测,我决定简单地使用第5和第95百分位数(我知道它不是最好的统计方法):

编码我到目前为止:

P = np.percentile(df.Col1, [5, 95])
new_df = df[(df.Col1 > P[0]) & (df.Col1 < P[1])]
Run Code Online (Sandbox Code Playgroud)

问题:如何在不执行此操作的情况下将此方法应用于所有列(user_id除外)?我的目标是获取没有具有异常值的记录的数据帧.

谢谢!

python outliers pandas

9
推荐指数
3
解决办法
4万
查看次数

标签 统计

outliers ×1

pandas ×1

python ×1