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 数据制作箱线图。

Parameters:
grouped分组的 DataFrame
subplotsbool
  • False - 不会使用子图

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

column列名或列名列表,或向量

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

fontsize浮点数或字符串
rot标签旋转角度
grid将此设置为 True 将显示网格
axMatplotlib 轴对象,默认为 None
figsize元组 (宽度, 高度),单位为英寸
layout元组(可选)

图表的布局:(行, 列)。

sharexbool,默认 False

x 轴是否将在子图之间共享。

shareybool, default True

y 轴是否将在子图之间共享。

backendstr,默认 None

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

**kwargs

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

Returns:
键/值 = 组键/DataFrame.boxplot 返回值的字典
或者,当 subplots=figures=False 时,DataFrame.boxplot 返回值

Examples

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

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