# 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, **kwds)

  Make box plots from DataFrameGroupBy data.

  Parameters:

  grouped : Grouped DataFrame

  subplots : bool

  > - `False` - no subplots will be used
  > - `True` - create a subplot for each group

  column : column name or list of names, or vector

  > Can be any valid input to groupby

  fontsize : int or string

  rot : label rotation angle

  grid : Setting this to True will show the grid

  ax : Matplotlib axis object, default None

  figsize : A tuple (width, height) in inches

  layout : tuple (optional)

  > (rows, columns) for the layout of the plot

  sharex : bool, default False

  > Whether x-axes will be shared among subplots

  > New in version 0.23.1.

  sharey : bool, default True

  > Whether y-axes will be shared among subplots

  > New in version 0.23.1.

  `**kwds` : Keyword Arguments

  > All other plotting keyword arguments to be passed to matplotlib’s boxplot function

  Returns: | dict of key/value = group key/DataFrame.boxplot return value or DataFrame.boxplot return value in case subplots=figures=False

  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')
      >>> boxplot_frame_groupby(grouped)
      >>>
      >>> grouped = df.unstack(level='lvl1').groupby(level=0, axis=1)
      >>> boxplot_frame_groupby(grouped, subplots=False)

Scroll To Top