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: - grouped : Grouped DataFrame
- subplots : bool
False
- no subplots will be usedTrue
- 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)