pandas箱型图(boxplot)详解
⾸先看⼀段例⼦:
import pandas as pd
from pandas import DataFrame,Series
df = DataFrame(np.random.randn(10, 2), columns=['Col1', 'Col2'])
boxplot=df.boxplot()
通过boxplot⽅法,我们直接得到了箱型图。
boxplot⽅法官⽅介绍如下:
⽅法说明
boxplot⽅法只是⽤于DataFrame,Series对象没有此⽅法
参数说明
column,默认为None,输⼊为str 或由str构成的list,其作⽤是指定要进⾏箱型图分析的列
by,默认为None,str or array-like,其作⽤为pandas的group by,通过指定by=‘columns’,可进⾏多组合箱型图分析
ax,matplotlib.axes.Axes的对象,没有太⼤作⽤
fontsize,箱型图坐标轴字体⼤⼩
rot,箱型图坐标轴旋转⾓度
grid,箱型图⽹格线是否显⽰
figsize,箱型图窗⼝尺⼨⼤⼩
layout,必须配合by ⼀起使⽤,类似于subplot 的画布分区域功能
return_type,指定返回对象的类型,默认为None,可输⼊的参数为‘axes’,‘dict’,‘both’,当与by⼀起使⽤是,返回的对象为Series或array(for return_type = None)
箱型图返回结果说明:
当指定return_type=‘dict’时,其结果值为⼀个字典,字典索引为固定的'whiskers'、'caps'、'boxes'、'fliers'、'means'
boxplot=df.boxplot(return_type='dict')
boxplot
Out[132]:
{'whiskers': [<matplotlib.lines.Line2D at 0x26b61ec81d0>,  <matplotlib.lines.Line2D at 0x26b61ec8668>,
<matplotlib.lines.Line2D at 0x26b61ec6f98>,
<matplotlib.lines.Line2D at 0x26b61b7d400>],
'caps': [<matplotlib.lines.Line2D at 0x26b61ec8a90>,
<matplotlib.lines.Line2D at 0x26b61ec8eb8>,
<matplotlib.lines.Line2D at 0x26b61b7d828>,
<matplotlib.lines.Line2D at 0x26b61b7dc50>],
'boxes': [<matplotlib.lines.Line2D at 0x26b61ec8080>,  <matplotlib.lines.Line2D at 0x26b61ec6b38>],
'medians': [<matplotlib.lines.Line2D at 0x26b61ec6320>,  <matplotlib.lines.Line2D at 0x26b61b560b8>],
'fliers': [<matplotlib.lines.Line2D at 0x26b61ec6748>,
<matplotlib.lines.Line2D at 0x26b61b564e0>],
matplotlib中subplot'means': []}
此时,通过指定索引值获取相应数据
boxplot['fliers'][1].get_xdata()
Out[137]: array([2.])
boxplot['fliers'][1].get_ydata()
Out[138]: array([1.79881989])

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。