Как использовать Python для построения гистограммы?
Гистограммы в Python
Когда вы готовитесь создавать гистограмму, наиболее просто не думать в терминах интервалов, а скорее сосредоточиться на подсчете того, сколько раз каждое значение встречается (частотная таблица). В Python для этой задачи хорошо подходит словарь:
count_elements()
возвращает словарь с уникальными элементами из последовательности в качестве ключей и их частотами (количествами) в качестве значений. Внутри цикла for
по seq
hist[i] = hist.get(i, 0) + 1
говорит: “для каждого элемента последовательности, увеличьте соответствующее значение в hist
на 1”.
На самом деле, это именно то, что делает класс collections.Counter
из стандартной библиотеки Python, который является подклассом словаря Python и переопределяет его метод .update()
:
Вы можете убедиться, что ваша функция выполняет практически то же самое.
Разработка базы: расчет гистограммы в NumPy
Если вам нужна более быстрая и масштабируемая реализация подсчета гистограммы, NumPy предлагает функцию numpy.histogram()
. Эта функция выполняет расчет гистограммы и возвращает массив значений границ интервалов и массив значений для каждого интервала:
Здесь мы использовали функцию numpy.histogram()
, чтобы рассчитать гистограмму времени в пути для 1000 случайных сотрудников. Результат сохраняется в двух переменных: hist
- это массив с количествами значений в каждом интервале гистограммы, и bin_edges
- это массив с границами интервалов.
Визуализация гистограмм с помощью Matplotlib и pandas
Matplotlib - это одна из самых популярных библиотек визуализации данных в Python. Она содержит функцию matplotlib.pyplot.hist()
, которая может быть использована для построения гистограммы на основе результата, полученного с помощью numpy.histogram()
. Вот пример кода:
Pandas также предоставляет удобный способ создания и визуализации гистограмм. Она имеет метод pandas.DataFrame.hist()
, который автоматически использует Matplotlib для построения гистограммы. Вот пример:
Построение оценки плотности ядра (KDE)
Оценка плотности ядра (KDE) - это способ сглаживания гистограммы, чтобы получить более гладкую оценку плотности вероятности подлежащих наблюдению данных. NumPy предлагает функцию numpy.histogram()
, которая может рассчитать гистограмму с использованием ядерного сглаживания. Вот пример кода:
Установите NumPy, Matplotlib, pandas и Seaborn
Для создания гистограмм в Python с использованием NumPy, Matplotlib, pandas и Seaborn, вам понадобится установить эти библиотеки. Вы можете установить их, выполнив следующую команду в командной строке:
Заключение
В этом руководстве вы узнали, как создавать гистограммы в Python с использованием библиотек из ее научного стека - NumPy, Matplotlib, pandas и Seaborn. Вы изучили различные способы построения и визуализации гистограмм, а также научились использовать оценку плотности ядра для сглаживания данных. Теперь вы готовы создавать гистограммы, адаптированные для практически любого набора данных, чтобы представить их наглядно и профессионально.