Spec-Zone.ru › pandas 0.24

pandas.DataFrame.boxplot

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

Создать диаграмму размаха для столбцов DataFrame.

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

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

Параметры:
column : str or list of str, optional

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

by : str or array-like, optional

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

ax : object of class matplotlib.axes.Axes, optional

Оси matplotlib, которые будут использоваться диаграммой размаха.

fontsize : float or str

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

rot : int or float, default 0

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

grid : boolean, default True

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

figsize : A tuple (width, height) in inches

Размер фигуры, которую нужно создать в matplotlib.

layout : tuple (rows, columns), optional

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

return_type : {‘axes’, ‘dict’, ‘both’} or None, default ‘axes’

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

  • ‘axes’ возвращает оси matplotlib, на которых построена диаграмма размаха.
  • ‘dict’ возвращает словарь, значениями которого являются объекты matplotlib Lines диаграммы размаха.
  • ‘both’ возвращает именованную кортеж с осями и словарем.
  • при группировке с by, возвращается Series, сопоставляющая столбцы с return_type.

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

**kwds

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

Возвращаемое значение:
result :

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

  • ‘axes’ : объект класса matplotlib.axes.Axes
  • ‘dict’ : словарь объектов matplotlib.lines.Line2D
  • ‘both’ : именованная кортеж со структурой (ax, lines)

Для данных, сгруппированных с by:

  • Series
  • array (для return_type = None)

См. также

Series.plot.hist
Построить гистограмму.
matplotlib.pyplot.boxplot
Эквивалентная функция построения в Matplotlib.

Примечания

Используйте 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–2012, 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/0.24.2/reference/api/pandas.DataFrame.boxplot.html

Spec-Zone.ru

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