Spec-Zone.ru › pandas 1

pandas.DataFrame.boxplot

DataFrame.boxplot(column=None, by=None, ax=None, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, backend=None, **kwargs)[source]

Построение диаграммы размаха для столбцов DataFrame.

Построение диаграммы размаха (ящик с усами) для столбцов DataFrame, необязательно с группировкой по другим столбцам. Диаграмма размаха — это метод графического отображения набора числовых данных через их квартили. Ящик простирается от значений квартиля Q1 до Q3, с линией в медиане (Q2). Усы простираются от краев ящика, чтобы показать диапазон данных. По умолчанию они простираются не более чем на 1,5 * IQR (IQR = Q3 - Q1) от краев ящика, заканчиваясь на самом дальнем значении данных в этом интервале. Выбросы изображаются отдельными точками.

Для получения дополнительной информации см. статью Википедии о диаграмме размаха.

Parameters
column:str или список str, необязательно

Имя столбца или список имён, или вектор. Может быть любым допустимым входом для pandas.DataFrame.groupby().

by:str или массив-подобный объект, необязательно

Столбец в DataFrame для pandas.DataFrame.groupby(). Одна диаграмма размаха будет построена для каждого значения столбцов в by.

ax:объект класса matplotlib.axes.Axes, необязательно

Ось matplotlib, которая должна использоваться для диаграммы размаха.

fontsize:float или str

Размер шрифта меток осей в пунктах или в виде строки (например, large).

rot:int или float, по умолчанию 0

Угол поворота меток (в градусах) относительно системы координат экрана.

grid:bool, по умолчанию True

Установление этого значения в True отобразит сетку.

figsize:Кортеж (ширина, высота) в дюймах

Размер фигуры для создания в matplotlib.

layout:кортеж (строки, столбцы), необязательно

Например, (3, 5) отобразит подграфики, используя 3 столбца и 5 строк, начиная с верхнего левого угла.

return_type:{‘axes’, ‘dict’, ‘both’} или None, по умолчанию ‘axes’

Тип возвращаемого объекта. По умолчанию axes.

  • ‘axes’ возвращает ось matplotlib, на которой построена диаграмма размаха.

  • ‘dict’ возвращает словарь, значениями которого являются объекты matplotlib Lines диаграммы размаха.

  • ‘both’ возвращает кортеж с именами (ось, линии).

  • при группировке с by, возвращается Series, сопоставляющий столбцы с return_type.

    Если return_type равно None, возвращается массив NumPy осей с той же формой, что и layout.

backend:str, по умолчанию None

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

В версии 1.0.0.

**kwargs

Все остальные параметры построения графика, передаваемые matplotlib.pyplot.boxplot().

Returns
result

См. Примечания.

См. также

Series.plot.hist

Построить гистограмму.

matplotlib.pyplot.boxplot

Эквивалентная функция построения графика в matplotlib.

Примечания

Тип возвращаемого значения зависит от параметра return_type:

  • ‘axes’ : объект класса matplotlib.axes.Axes

  • ‘dict’ : словарь объектов matplotlib.lines.Line2D

  • ‘both’ : кортеж с именем (ax, lines)

Для сгруппированных данных с by, возвращается Series вышеупомянутых типов или массив numpy:

  • Series

  • array (для return_type = None)

Используйте return_type='dict' при желании изменить внешний вид линий после построения графика. В этом случае возвращается словарь, содержащий линии, образующие ящики, концы, выбросы, медианы и усы.

Примеры

Диаграммы размаха можно создавать для каждого столбца в DataFrame, df.boxplot() или указав столбцы для использования:

>>> np.random.seed(1234)
>>> df = pd.DataFrame(np.random.randn(10, 4),
...                   columns=['Col1', 'Col2', 'Col3', 'Col4'])
>>> boxplot = df.boxplot(column=['Col1', 'Col2', 'Col3'])  
../../_images/pandas-DataFrame-boxplot-1.png

Диаграммы размаха распределения переменных, сгруппированные по значениям третьей переменной, могут быть созданы с помощью параметра by. Например:

>>> df = pd.DataFrame(np.random.randn(10, 2),
...                   columns=['Col1', 'Col2'])
>>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A',
...                      'B', 'B', 'B', 'B', 'B'])
>>> boxplot = df.boxplot(by='X')
../../_images/pandas-DataFrame-boxplot-2.png

Список строк (то есть ['X', 'Y']) может быть передан в boxplot для группировки данных по комбинации переменных на оси x:

>>> df = pd.DataFrame(np.random.randn(10, 3),
...                   columns=['Col1', 'Col2', 'Col3'])
>>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A',
...                      'B', 'B', 'B', 'B', 'B'])
>>> df['Y'] = pd.Series(['A', 'B', 'A', 'B', 'A',
...                      'B', 'A', 'B', 'A', 'B'])
>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by=['X', 'Y'])
../../_images/pandas-DataFrame-boxplot-3.png

Макет диаграммы размаха может быть изменен, задав кортеж в layout:

>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
...                      layout=(2, 1))
../../_images/pandas-DataFrame-boxplot-4.png

Дополнительный форматирование можно выполнить на диаграмме размаха, например, отключить сетку (grid=False), повернуть метки на оси x (например, rot=45) или изменить размер шрифта (например, fontsize=15):

>>> boxplot = df.boxplot(grid=False, rot=45, fontsize=15)  
../../_images/pandas-DataFrame-boxplot-5.png

Параметр return_type может быть использован для выбора типа элемента, возвращаемого boxplot. Когда return_type='axes' выбран, возвращаются оси matplotlib, на которых построена диаграмма размаха:

>>> boxplot = df.boxplot(column=['Col1', 'Col2'], return_type='axes')
>>> type(boxplot)
<class 'matplotlib.axes._subplots.AxesSubplot'>

При группировке с by, возвращается Series, сопоставляющий столбцы с return_type:

>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
...                      return_type='axes')
>>> type(boxplot)
<class 'pandas.core.series.Series'>

Если return_type равно None, возвращается массив NumPy осей с той же формой, что и layout:

>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X',
...                      return_type=None)
>>> type(boxplot)
<class 'numpy.ndarray'>

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.boxplot.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API