pandas.core.groupby.DataFrameGroupBy.boxplot

DataFrameGroupBy.boxplot(grouped, subplots=True, column=None, fontsize=None, rot=0, grid=True, ax=None, figsize=None, layout=None, sharex=False, sharey=True, **kwds)[source]

Make box plots from DataFrameGroupBy data.

Parameters
groupedGrouped DataFrame
subplotsbool
  • False - no subplots will be used

  • True - create a subplot for each group

columncolumn name or list of names, or vector

Can be any valid input to groupby

fontsizeint or string
rotlabel rotation angle
gridSetting this to True will show the grid
axMatplotlib axis object, default None
figsizeA tuple (width, height) in inches
layouttuple (optional)

(rows, columns) for the layout of the plot

sharexbool, default False

Whether x-axes will be shared among subplots

New in version 0.23.1.

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