从数值特征中去除异常值

2024-05-06 09:01:10 发布

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

嗨,我正试图从带有数字特征的列中删除异常值,但是当我执行代码时,整个数据集都被删除了。有人能告诉我我做错了什么吗

numerical_columns = data.select_dtypes(include=['int64','float64']).columns.tolist()

print('Number of rows before discarding outlier = %d' % (data.shape[0]))

for i in numerical_columns:

q1 = data[i].quantile(0.25)
q3 = data[i].quantile(0.75)
iqr = q3-q1 #Interquartile range
fence_low  = q1-1.5*iqr
fence_high = q3+1.5*iqr
data = data.loc[(data[i] > fence_low) & (data[i] < fence_high)]

print('Number of rows after discarding outlier = %d' % (data.shape[0]))

Tags: columnsofnumberdatanumericalrowsprintshape