DataFrame.hist() / Series.hist()
Метод hist() строит гистограмму распределения значений. Под капотом использует matplotlib (требует установленного пакета). Удобный способ быстро оценить разброс показаний датчиков.
Сигнатура
DataFrame.hist(column=None, by=None, grid=True, xlabelsize=None,
xrot=None, ylabelsize=None, yrot=None, ax=None,
sharex=False, sharey=False, figsize=None,
layout=None, bins=10, backend=None, legend=False,
**kwargs)
Параметры
column— имя столбца или список столбцов для построения.by— группировка гистограмм по значениям столбца.bins— количество корзин (по умолчанию 10).grid— отображать сетку.figsize— размер фигуры в дюймах.layout— сетка подграфиков(rows, cols).
Возвращаемое значение
Объект matplotlib.axes.Axes или массив осей. Сам график отображается через plt.show().
Примеры
Пример 1. Гистограмма Series
import pandas as pd
import matplotlib.pyplot as plt
s = pd.Series([22.1, 22.3, 22.5, 22.4, 23.0, 22.8,
22.2, 22.6, 22.4, 22.5])
s.hist(bins=5)
plt.show()
Пример 2. Гистограммы для всех числовых столбцов
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"temp": [22, 23, 21, 24, 22, 23],
"humidity": [55, 60, 58, 62, 57, 59],
})
df.hist(bins=4, figsize=(8, 4))
plt.show()
Пример 3. Конкретный столбец
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"dist_cm": [10, 12, 15, 11, 13, 14, 12, 16, 11, 13],
"ts": range(10),
})
df.hist(column="dist_cm", bins=5)
plt.show()
Пример 4. Группировка by
Разделяем гистограмму температуры по идентификатору датчика:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"sensor": ["A", "A", "A", "B", "B", "B"],
"temp": [22, 23, 21, 25, 26, 24],
})
df.hist(column="temp", by="sensor", bins=3)
plt.show()
Пример 5. Логарифмическая шкала через kwargs
import pandas as pd
import matplotlib.pyplot as plt
s = pd.Series([1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
ax = s.hist(bins=5)
ax.set_yscale("log")
plt.show()
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.