pandas.core.groupby.DataFrameGroupBy.boxplot#

DataFrameGroupBy.boxplot(subplots=True, column=None, fontsize=None, rot=0, grid=True, ax=None, figsize=None, layout=None, sharex=False, sharey=True, backend=None, **kwargs)[源代码]#

从 DataFrameGroupBy 数据中生成箱形图。

参数:
分组分组 DataFrame
子图bool
  • False - 不会使用子图

  • True - 为每个组创建一个子图。

列名或列名列表,或向量

可以是任何有效的 groupby 输入。

字体大小浮点数或字符串
rot标签旋转角度
网格将此设置为 True 将显示网格
axMatplotlib 轴对象,默认为 None
figsize一个以英寸为单位的元组 (宽度, 高度)
布局tuple (可选)

图的布局:(行,列)。

sharex布尔值, 默认为 False

子图之间是否共享x轴。

sharey布尔值, 默认为 True

子图之间是否共享y轴。

后端str, 默认 None

要使用的后端,而不是选项 plotting.backend 中指定的后端。例如,’matplotlib’。或者,要为整个会话指定 plotting.backend,请设置 pd.options.plotting.backend

**kwargs

所有其他要传递给 matplotlib 的 boxplot 函数的绘图关键字参数。

返回:
键/值字典 = 组键/DataFrame.boxplot 返回值
或者在 subplots=figures=False 情况下 DataFrame.boxplot 的返回值

例子

你可以为分组数据创建箱线图,并将它们显示为单独的子图:

>>> import itertools
>>> tuples = [t for t in itertools.product(range(1000), range(4))]
>>> index = pd.MultiIndex.from_tuples(tuples, names=["lvl0", "lvl1"])
>>> data = np.random.randn(len(index), 4)
>>> df = pd.DataFrame(data, columns=list("ABCD"), index=index)
>>> grouped = df.groupby(level="lvl1")
>>> grouped.boxplot(rot=45, fontsize=12, figsize=(8, 10))  
../../_images/pandas-core-groupby-DataFrameGroupBy-boxplot-1.png

subplots=False 选项在一个图中显示箱线图。

>>> grouped.boxplot(subplots=False, rot=45, fontsize=12)  
../../_images/pandas-core-groupby-DataFrameGroupBy-boxplot-2.png