Построение гистограммы в Python с Matplotlib и Pandas
Гистограмма - это диаграмма, которая использует столбцы для представления частот, что помогает визуализировать распределения данных.
В этом посте вы узнаете, как создавать гистограммы с помощью Python, включая Matplotlib и Pandas.
Содержание
Что такое гистограмма?
Гистограмма — это диаграмма, использующая столбцы для представления частот, что помогает визуализировать распределение данных.
Столбцы могут отображать уникальные значения или группы чисел, попадающих в определенные диапазоны. Чем выше столбец, тем больше данных попадает в этот диапазон.
Форма гистограммы отображает разброс непрерывной выборки данных.
Если вы хотите узнать, как создавать собственные диапазоны для данных, вы можете ознакомиться с моим руководством по биннингу данных с помощью Pandas
Гистограмма может превратить таблицу частот с интервалами данных в полезную визуализацию:
Загрузка нашего набора данных
Для начала загрузим необходимые библиотеки и наш набор данных. Затем мы можем создать гистограммы с помощью Python для столбца возраста, чтобы визуализировать распределение этой переменной.
Из приведенных выше данных видно, что данные доходят до 43. Имеет смысл разбить данные на интервалы по 5 лет.
Если вы хотите узнать, как проверить, являются ли данные нормализованным распределеним , ознакомьтесь с моим руководством по использованию Python для тестирования нормализации
Создание гистограммы в Python с помощью Matplotlib
Для создания гистограммы в Python с использованием Matplotlib, вы можете использовать функцию hist().
Функция hist принимает несколько аргументов, основной из которых — аргумент bins, указывающий количество интервалов равной ширины в пределах диапазона.
Подсказка! Если вы работаете в среде Jupyter, не забудьте включить магическую команду Jupyter %matplotlib inline
, чтобы отобразить гистограмму встроенно.
Самый простой способ создать гистограмму с помощью Matplotlib — просто вызвать функцию hist:
Это возвращает гистограмму со всеми параметрами по умолчанию:
Определите размер ячейки гистограммы Matplotlib
Вы можете определить корзины, используя аргумент bins=. Он принимает либо число (для количества корзин), либо список (для конкретных корзин).
Если вы хотите установить 9 корзин для вашей гистограммы, вы можете написать:
Это создаёт следующее изображение:
Определите ячейки гистограммы Matplotlib
Если вы хотите более точно определить размер ваших интервалов, вы можете задать их полностью. Например, если вы хотите, чтобы ваши интервалы были с шагом в пять лет, вы можете написать:
Это позволяет вам точно указать, где должны располагаться данные. Этот код возвращает следующее:
Ограничьте ячейки гистограммы Matplotlib
Вы также можете использовать диапазоны для исключения данных. Если вас интересует возврат возраста выше определенного, вы можете просто исключить их из вашего списка.
Например, если вы хотите исключить возраст младше 20 лет, вы можете написать:
Логарифмическая шкала гистограммы Matplotlib
Если данные содержат некоторые группы с значительно большим количеством данных по сравнению с другими группами, может быть полезно визуализировать данные, используя логарифмическую шкалу. Для этого можно использовать аргумент log=True:
Это возвращает следующее изображение:
Изменение внешнего вида гистограммы Matplotlib
Чтобы изменить внешний вид гистограммы, необходимо знать три важных аргумента:
align
: принимает mid, right, left для установки выравнивания полос относительно их маркеровcolor
: принимает цвета Matplotlib, по умолчанию синийedgecolor
: принимает цвета Matplotlib и обводит границы столбцов
Чтобы изменить выравнивание и цвет гистограммы, можно написать:
Это генерирует следующую гистограмму:
Чтобы узнать больше о функции hist в Matplotlib, ознакомьтесь с официальной документацией
Создание гистограммы в Python с помощью Pandas
При работе с датафреймами Pandas легко создавать гистограммы. Pandas интегрирует множество функций Pyplot из Matplotlib, чтобы упростить построение графиков.
К гистограммам в Pandas можно применить функцию .hist() напрямую к dataframe:
Это создает следующую гистограмму:
Мы можем дополнительно настроить его с помощью ключевых аргументов, включая:
column
: поскольку наш датафрейм имеет только один столбец, это не обязательноgrid
: по умолчанию Truebins
: по умолчанию 10
Давайте изменим наш код, чтобы включить только 9 контейнеров и удалить сетку:
Это возвращает следующий dataframe:
Вы также можете добавить заголовки и метки осей, используя следующее:
Который возвращает следующее:
Аналогично, если вы хотите определить фактические границы краев, вы можете сделать это, включив список значений, которые вы хотите установить для границ.
Это можно ускорить, используя функцию range().
Это возвращает следующее:
Если вы хотите узнать больше о функции, ознакомьтесь с официальной документацией
Заключение
В этом посте вы узнали, что такое гистограмма и как создать её с помощью Python, включая использование Matplotlib, Pandas и Seaborn. У каждой из этих библиотек есть свои уникальные преимущества и недостатки. Если вы ищете более статистически дружественный вариант, Seaborn — это то, что вам нужно.
Чтобы узнать больше о связанных темах, ознакомьтесь с учебными материалами ниже:
Новая строка Python и как печатать без новой строки
Pandas Isin для фильтрации фрейма данных, например SQL IN и NOT IN
Last updated