我们使用了几种方法来检测离群值,但是有没有什么方法可以直接列出我的离群值。输出应该是离群值的实际值,而不是像这样的array[row,column]
我尝试了iqr
方法,zscore
方法和其他一些方法,但是我没有直接输出。假设我有这样的数据
age: 20, 10, 2; weight: 3000, 2000,3
我应该得到这样的输出 离群值是2岁,体重是3
import numpy as np
def outliers_iqr(data):
quartile_1, quartile_3 = np.percentile(data['DIPPING M/C SUPPLY CFM'], [25, 75])
iqr = quartile_3 - quartile_1
lower_bound = quartile_1 - (iqr * 1.5)
upper_bound = quartile_3 + (iqr * 1.5)
return np.where((data > upper_bound) | (data < lower_bound))
outlier=outliers_iqr(data)
这是我在执行以上代码后得到的:
(array([ 0, 0, 0, 1, 1, 1, 2])array([ 9, 10, 12, 9, 10, 12, 9]))
但我的预期输出是:
异常值是
column: 2, 12, 2000;
column2: 3, 1000, 6