Найти в Дзене
Властелин машин

Мир гистограмм с Python

Оглавление

В этой статье расскажу о ключевых инструментах для подсчета гистограмм и их визуализации в Python. В этом нам помогут библиотеки NumPy, Pandas, Matplotlib и Seaborn.

В качестве демонстрационных данных будем использовать опрос пользователей сайт Kaggle 2017 года (2017 Kaggle ML & DS Survey, файл multipleChoiceResponses.csv).

Получение численных значений гистрограммы

В этом нам поможет функция histogram из библиотеки NumPy. В число ее основных параметров входит bins - границы для интервалов деления или их количество (будут выбраны равные части из заданного диапазона range, который по умолчанию простирается от минимума выборки до ее максимума). Функция возвращает количество вхождений в каждый интервал и их границы. Также при задании параметра density=True histogram выполняет нормировку, действуя аналогично плотности распределения, так чтобы произведение вхождений на длины интервалов равнялось 1. Посчитаем гистограмму для столбца Age:

а теперь приведем пример с нормализацией:

-2

Похожий результат возвращает функция hist библиотеки Matplotlib (плюсом еще рисует график):

-3

Если изучаемый столбец категориальный, то его значения удобно вывести с помощью метода value_counts:

-4

также присутствует возможность нормализации (за это отвечает параметр normalize):

-5

Построение графиков гистограмм

Построение гистрограмм можно осуществить вызовом функций hist из Matplotlib (работает для численной переменной), как указывалось выше. Однако более гибким является способ вывода гистограмм с помощью Pandas и схожего метода hist:

-6

Вот отличие от собрата из Matplotlib метод умеет работать с пропущенными значениями, а также позволяет построить распределение категориальной переменной:

-7

Библиотека Seaborn отличается красивыми настройками по умолчанию. Как она выполняет отображение категориальной переменной с помощью функции countplot, можете оценить ниже:

-8

-9