pandas.DataFrame.plot.box#

DataFrame.plot.box(by=None, **kwargs)[源代码]#

绘制 DataFrame 列的箱线图。

箱线图是一种通过四分位数来图形化表示数值数据分组的方法。箱体从数据的 Q1 到 Q3 四分位数值延伸,中位数(Q2)处有一条线。须从箱体边缘延伸以显示数据的范围。须的位置默认设置为距离箱体边缘 1.5*IQR(IQR = Q3 - Q1)。异常值点是超出须末尾的点。

有关更多详细信息,请参阅维基百科关于 箱线图 的条目。

使用此图表时需要考虑的一点是,箱体和须可能会重叠,这在绘制小型数据集时非常普遍。

参数:
bystr 或序列

用于分组的 DataFrame 中的列。

**kwargs

其他关键字参数在 DataFrame.plot() 中有详细说明。

返回:
matplotlib.axes.Axes 或其 numpy.ndarray

包含箱线图的 matplotlib 轴。

另请参阅

DataFrame.boxplot

绘制箱线图的另一种方法。

Series.plot.box

从 Series 对象绘制箱线图。

matplotlib.pyplot.boxplot

在 matplotlib 中绘制箱线图。

示例

从包含四列随机生成数据的 DataFrame 绘制箱线图。

>>> data = np.random.randn(25, 4)
>>> df = pd.DataFrame(data, columns=list("ABCD"))
>>> ax = df.plot.box()
../../_images/pandas-DataFrame-plot-box-1.png

如果您指定了 by 参数(它可以接受列名,或列名列表或元组),您也可以生成分组。

>>> age_list = [8, 10, 12, 14, 72, 74, 76, 78, 20, 25, 30, 35, 60, 85]
>>> df = pd.DataFrame({"gender": list("MMMMMMMMFFFFFF"), "age": age_list})
>>> ax = df.plot.box(column="age", by="gender", figsize=(10, 8))
../../_images/pandas-DataFrame-plot-box-2.png