РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
221 of 687 menu

Метод hist

Метод hist применяется к Series и строит гистограмму распределения значений. Гистограмма группирует данные в интервалы (bins) и отображает частоту значений в каждом интервале. Метод возвращает объект Axes из библиотеки Matplotlib. Основные параметры: bins - количество интервалов (по умолчанию 10), figsize - размер графика в дюймах, color - цвет столбцов, edgecolor - цвет границ столбцов.

Синтаксис

ser.hist(bins=None, figsize=None, color=None, edgecolor=None)

Пример

Давайте построим гистограмму для серии из 100 случайных чисел, распределённых по нормальному закону:

import pandas as pd import numpy as np import matplotlib.pyplot as plt ser = pd.Series(np.random.randn(100)) ser.hist(bins=15, figsize=(8, 5), color='skyblue', edgecolor='black') plt.title('Distribution of values') plt.show()

Пример

Построим гистограмму для серии с целочисленными значениями и зададим количество интервалов равное 5:

import pandas as pd import matplotlib.pyplot as plt ser = pd.Series([1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]) ser.hist(bins=5, figsize=(7, 4), color='lightgreen', edgecolor='darkgreen') plt.title('Value frequency distribution') plt.xlabel('Value') plt.ylabel('Frequency') plt.show()

Пример

Построим гистограмму и сохраним результат в переменную для дальнейшей настройки отображения:

import pandas as pd import numpy as np import matplotlib.pyplot as plt ser = pd.Series(np.random.randint(1, 20, 200)) ax = ser.hist(bins=10, figsize=(8, 5), color='coral', edgecolor='brown') ax.set_title('Random integer distribution') ax.set_xlabel('Value range') ax.set_ylabel('Number of elements') plt.grid(alpha=0.3) plt.show()

Результат выполнения кода:

Axes(0.125,0.11;0.775x0.77)

Пример

Сравним гистограммы двух разных серий на одном графике с помощью прозрачности:

import pandas as pd import numpy as np import matplotlib.pyplot as plt ser1 = pd.Series(np.random.normal(0, 1, 500)) ser2 = pd.Series(np.random.normal(3, 1, 500)) ser1.hist(bins=20, alpha=0.5, label='Mean=0', color='blue', edgecolor='black') ser2.hist(bins=20, alpha=0.5, label='Mean=3', color='red', edgecolor='black') plt.legend() plt.title('Comparison of two distributions') plt.xlabel('Value') plt.ylabel('Frequency') plt.show()

Смотрите также

  • метод value_counts,
    который подсчитывает частоту уникальных значений
  • метод describe,
    который считает описательную статистику для серии
  • метод plot,
    который строит различные графики для серии
  • метод mean,
    который вычисляет среднее арифметическое значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить