pandas.DataFrame.boxplot
-
DataFrame.boxplot(self, 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 : bool, 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’ возвращает кортеж с полями ax и lines.
-
при группировке с
by, возвращается Series, сопоставляющая столбцы сreturn_type.Если
return_typeравноNone, возвращается массив NumPy осей с той же формой, что иlayout.
- **kwds
-
Все остальные ключевые аргументы для построения, которые передаются в
matplotlib.pyplot.boxplot().
Возвращает: - 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'])
Диаграммы размаха распределения переменных, сгруппированных по значениям третьей переменной, могут быть созданы с помощью опции
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')
Список строк (т.е.
['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'])
Макет диаграммы размаха можно настроить, передавая кортеж в
layout:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... layout=(2, 1))
Дополнительную форматирование можно сделать к диаграмме размаха, например, подавление сетки (
grid=False), поворот меток на оси x (т.е.rot=45) или изменение размера шрифта (т.е.fontsize=15):>>> boxplot = df.boxplot(grid=False, rot=45, fontsize=15)
Параметр
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.25.0/reference/api/pandas.DataFrame.boxplot.html