pandas.DataFrame.plot.box#

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

绘制 DataFrame 列的箱形图。

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

欲了解更多详情,请参见维基百科关于 箱线图 的条目。

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

参数:
通过字符串或序列

要分组的 DataFrame 中的列。

在 1.4.0 版本发生变更: 之前,by 被静默忽略,不进行分组。

**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 参数(可以接受列名,或列名列表或元组),你也可以生成分组:

在 1.4.0 版本发生变更.

>>> 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