DataFrame.boxplot()

Метод boxplot() строит диаграмму размаха (box-and-whisker plot) по столбцам DataFrame с помощью Matplotlib. Показывает медиану, квартили и выбросы.

Сигнатура

DataFrame.boxplot(column=None, by=None, ax=None, figsize=None,
                  grid=True, rot=0, fontsize=None, **kwargs)

Параметры

  • column — список или строка имён столбцов для построения.

  • by — столбец-группировка (рисует отдельный boxplot для каждой группы).

  • ax — объект Matplotlib Axes.

  • figsize — размер фигуры.

  • grid — рисовать ли сетку.

  • rot — угол поворота подписей оси X.

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

matplotlib.axes.Axes или numpy.ndarray объектов Axes.

Примеры

Пример 1. Базовый boxplot

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "sensor_A": [22.1, 22.3, 22.0, 22.5, 22.8, 30.0],
    "sensor_B": [55, 56, 54, 57, 60, 80],
})
df.boxplot()
plt.show()

Результат: окно с диаграммой размаха двух столбцов и одним выбросом в каждом.

Пример 2. Отдельный столбец

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"v": [4.8, 5.0, 5.1, 4.9, 5.0, 7.0]})
df.boxplot(column="v")
plt.show()

Пример 3. Группировка через by

Сравним показания температуры по разным датчикам:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "sensor": ["A", "A", "A", "B", "B", "B"],
    "temp":   [22.1, 22.5, 22.3, 23.0, 23.4, 23.1],
})
df.boxplot(column="temp", by="sensor")
plt.show()

Пример 4. Настройка стиля

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"x": [1, 2, 3, 4, 100]})
df.boxplot(grid=False, rot=45, fontsize=12, figsize=(6, 4))
plt.show()

Пример 5. Несколько столбцов из списка

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    "a": [1, 2, 3, 4, 5],
    "b": [10, 12, 14, 15, 30],
    "c": [100, 110, 120, 105, 115],
})
df.boxplot(column=["a", "b"])
plt.show()

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.