《Python数据分析与挖掘实战》笔记:TypeError: 'AxesSubplot' object is not subscriptable

《Python数据分析与挖掘实战》第三章书中代码

p = data.boxplot() #画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()

报错:

    x = p['fliers'][0].get_xdata()
TypeError: 'AxesSubplot' object is not subscriptable

查看pandas文档贴上原文和中文翻译

return_type : {‘axes’, ‘dict’, ‘both’} or None, default ‘axes’ The
kind of object to return. The default is axes.

‘axes’ returns the matplotlib axes the boxplot is drawn on.

‘dict’ returns a dictionary whose values are the matplotlib Lines of
the boxplot.

‘both’ returns a namedtuple with the axes and dict.

return_type : {‘axes’,‘dict’,‘both’}或None,默认’axes’

要返回的那种对象。默认是axes。

'axes’返回绘制boxplot的matplotlib轴。

'dict’返回一个字典,其值是boxplot的matplotlib行。

'both’返回一个带有轴和dict的namedtuple。

将三个参数都试一遍

  • return_type=‘axes’,返回的是AxesSubplot(0.125,0.11;0.775x0.77),应该就是箱图的轴对象
  • return_type=“dict”,返回的是
{'whiskers': [, ],
'caps': [, ],
'boxes': [], 
'medians': [],
'fliers': [], 
'means': []}

字典里面就是组成箱图的各个元素,其中fliers表示离散点,通过 p['fliers'][0]获取点坐标

  • return_type=“both”,返回的就是两者结合
Boxplot(ax=, 
lines={'whiskers': [, ],
       'caps': [, ], 
       'boxes': [],
       'medians': [],
       'fliers': [],
       'means': []})

你可能感兴趣的:(《Python数据分析与挖掘实战》笔记:TypeError: 'AxesSubplot' object is not subscriptable)