我想用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)]