在《Python数据分析与挖掘实战》中,第三章异常值处理时,书中代码会出现 TypeError: 'AxesSubplot' object is not subscriptable的问题,解决方法如下:
书中原代码:
plt.figure() #建立图像
p = data.boxplot() #画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort() #从小到大排序,该方法直接改变原对象
此代码的作用是:画出箱线图,并把异常数据标出来。
出错的原因是在画箱线图时没有指定输出类型为字典,导致下面的程序不能获取相应的下标,更改方法:在画图时指定输出类型:
p = data.boxplot(return_type='dict')