02 октября 2019

Анализируй данные с помощью одной строки на Python

Пишу, перевожу и иллюстрирую IT-статьи. На proglib написал 140 материалов. Увлекаюсь Python, вебом и Data Science. Открыт к диалогу – ссылки на соцсети и мессенджеры: https://matyushkin.github.io/links/ Если понравился стиль изложения, упорядоченный список публикаций — https://github.com/matyushkin/lessons
Коротко о том, как упростить и сделать наглядным статистический анализ датасетов с помощью двух библиотек Pandas и одной строки кода на Python.
Анализируй данные с помощью одной строки на Python

Любой, кто применял Python для работы с данными, знаком с библиотекой Pandas – мощным пакетом обработки больших данных с их представлением в табличном виде. Установить Pandas проще всего через терминал:

        pip install pandas
    

Посмотрим, какую статистику можно определить по умолчанию:

Анализируй данные с помощью одной строки на Python

Метод describe есть у любого датафрейма Pandas, создаваемого, например, при вызове read_csv. Однако можно видеть, что метод describe не принимает в расчет категориальные признаки. В нашем примере это столбец method. Мы можем добиться гораздо большего.

Профилирование Pandas

Анализируй данные с помощью одной строки на Python

Достаточно всего трех строк на Python, чтобы получить статистику вроде той, что приведена на рисунке. А если не учитывать простейший импорт библиотек, то хватит всего одной строки. В результате вы получаете:

  • Сводка по основным характеристикам: типы, уникальные значения, пропущенные значения.
  • Статистика квантилей: минимальное и максимальное значения, Q1, медиана, Q3, межквартильный диапазон.
  • Описательные статистические данные: среднее значение, мода, стандартное отклонение, среднее абсолютное отклонение, коэффициент вариации, коэффициенты асимметрии и эксцесса.
  • Наиболее частые значения.
  • Гистограмма.
  • Корреляции для высоко коррелированных переменных, матрицы корреляции Спирмена, Пирсона и Кендалла.
  • Отсутствующие значения: матрица, счетчик, тепловая карта и дендрограмма отсутствующих значений.

Прочие функции перечислены на странице pandas_profiling. Именно так называется библиотека, которая так упрощает процесс анализа исходных данных. Установить ее можно так же, как и Pandas:

        pip install pandas_profiling
    

Чтобы воспользоваться библиотеками, их нужно импортировать в Jupyter:

        import pandas as pd
import pandas_profiling
    

А далее та самая единственная строка, чтобы проанализировать данные:

        pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/planets.csv').profile_report()
    

В этой строке создается объект типа DataFrame и тут же профилируется с помощью метода profile_report.

Первое, что вы увидите, – это обзор данных, как на рисунке выше. Обзор дает высокоуровневую статистику по данным и переменным, а также предупреждения в случае высокой корреляции данных, асимметрии и т. д. Но и это не всё. Прокрутив вниз, вы обнаружите, что отчет содержит еще несколько разделов. Пример вы можете видеть на гифке ниже.

Анализируй данные с помощью одной строки на Python

Итог

Резюмируем. Чтобы быстро проанализировать статистику датасета, достаточно выполнить два шага:

1. Установить две библиотеки:

        pip install pandas
pip install pandas_profiling
    

2. Импортировать установленные библиотеки и запустить однострочник на Python:

        import pandas as pd
import pandas_profiling
pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/planets.csv').profile_report()
    

Надеемся, этот простой трюк будет вам полезен.

А какие Python трюки знаете вы? Делитесь в комментариях.

Источники

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ