В этой статье расскажу о ключевых инструментах для подсчета гистограмм и их визуализации в Python. В этом нам помогут библиотеки NumPy, Pandas, Matplotlib и Seaborn.
В качестве демонстрационных данных будем использовать опрос пользователей сайт Kaggle 2017 года (2017 Kaggle ML & DS Survey, файл multipleChoiceResponses.csv).
Получение численных значений гистрограммы
В этом нам поможет функция histogram из библиотеки NumPy. В число ее основных параметров входит bins - границы для интервалов деления или их количество (будут выбраны равные части из заданного диапазона range, который по умолчанию простирается от минимума выборки до ее максимума). Функция возвращает количество вхождений в каждый интервал и их границы. Также при задании параметра density=True histogram выполняет нормировку, действуя аналогично плотности распределения, так чтобы произведение вхождений на длины интервалов равнялось 1. Посчитаем гистограмму для столбца Age:
а теперь приведем пример с нормализацией:
Похожий результат возвращает функция hist библиотеки Matplotlib (плюсом еще рисует график):
Если изучаемый столбец категориальный, то его значения удобно вывести с помощью метода value_counts:
также присутствует возможность нормализации (за это отвечает параметр normalize):
Построение графиков гистограмм
Построение гистрограмм можно осуществить вызовом функций hist из Matplotlib (работает для численной переменной), как указывалось выше. Однако более гибким является способ вывода гистограмм с помощью Pandas и схожего метода hist:
Вот отличие от собрата из Matplotlib метод умеет работать с пропущенными значениями, а также позволяет построить распределение категориальной переменной:
Библиотека Seaborn отличается красивыми настройками по умолчанию. Как она выполняет отображение категориальной переменной с помощью функции countplot, можете оценить ниже: