pandas.core.groupby.DataFrameGroupBy.boxplot#

DataFrameGroupBy.boxplot(подграфики=True, столбец=None, размер шрифта=None, rot=0, сетка=True, ax=None, figsize=None, layout=None, sharex=False, sharey=True, бэкенд=None, **kwargs)[источник]#

Создать диаграммы размаха из данных DataFrameGroupBy.

Параметры:
groupedСгруппированный DataFrame
подграфикиbool
  • False - подграфики не будут использоваться

  • True - создать отдельный подграфик для каждой группы.

столбецимя столбца или список имен, или вектор

Может быть любым допустимым вводом для groupby.

размер шрифтаfloat или str
rotугол поворота метки
сеткаУстановка этого значения в True покажет сетку
axОбъект оси Matplotlib, по умолчанию None
figsizeКортеж (ширина, высота) в дюймах
layoutкортеж (опционально)

Макет графика: (строки, столбцы).

sharexbool, по умолчанию False

Будут ли оси x общими среди подграфиков.

shareybool, по умолчанию True

Будут ли оси y общими среди подграфиков.

бэкендstr, по умолчанию None

Бэкенд для использования вместо бэкенда, указанного в опции plotting.backend. Например, 'matplotlib'. В качестве альтернативы, чтобы указать plotting.backend для всей сессии, установите pd.options.plotting.backend.

**kwargs

Все остальные аргументы ключевых слов для построения графиков передаются в функцию boxplot matplotlib.

Возвращает:
словарь ключ/значение = ключ группы/возвращаемое значение DataFrame.boxplot
или возвращаемое значение DataFrame.boxplot в случае subplots=figures=False

Примеры

Вы можете создавать диаграммы размаха для сгруппированных данных и отображать их как отдельные подграфики:

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

The subplots=False опция показывает boxplot'ы на одном рисунке.

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