我有一个包含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除外)?我的目标是获取没有具有异常值的记录的数据帧.
谢谢!