############### Boxplot ################
fig = plt.figure(figsize = (15,9))
ax1 = fig.add_subplot(2,1,1)
color = dict(boxes='DarkGreen', whiskers='DarkOrange', medians='DarkBlue', caps='red')
data.plot.box(vert=False, grid = True,color = color,ax = ax1,label = 'Sample data')
################## plot ###################
st = data.describe()
q1 = st['25%']
q3 = st['75%']
iqr = q3-q1
mi = q1 - 1.5*iqr
ma = q3 + 1.5*iqr
error = data[(data<mi)|(data>ma)]
print('Error:{}'.format(len(error)))
data_c1 = data[(data>=mi)&(data<=ma)]
ax2 = fig.add_subplot(2,1,2)
plt.scatter(data_c1.index,data_c1.values,color = 'g',alpha = 0.6,label='normal')
plt.scatter(error.index ,error.values ,color = 'r',alpha = 0.8,label='outliers')
ax2.set_xlabel('Index')
ax2.set_ylabel('Value')
ax2.legend()
箱线图筛选异常值
于 2021-01-27 11:33:24 首次发布