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