首页 > 解决方案 > 有没有办法在数据框中用 NaN 替换异常值?

问题描述

我想用 NaN 替换异常值,以便我可以将该数据框与我不想删除异常值的其他数据框连接起来。以下是数据集。我只想对“年龄”、“身高”、“体重”、“ap_hi”、“ap_lo”执行异常值删除。

id  age gender  height  weight  ap_hi   ap_lo   cholesterol gluc    smoke   alco    active  cardio
988 22469   1   155     69.0    130     80      2          2        0       0   1   0
989 14648   1   163     71.0    110     70      1          1        0       0   1   1
990 21901   1   165     70.0    120     80      1          1        0       0   1   0
991 14549   2   165     85.0    120     80      1          1        1       1   1   0
992 23393   1   155     62.0    120     80      1          1        0       0   1   0

我尝试了以下方法,但它考虑了所有列:

from scipy import stats
df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]

标签: python-3.xpandasdataframeoutliers

解决方案


推荐阅读