Как в python анализировать данные с Pandas-Profiling и создать отчет

python pandas

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

Pandas — это библиотека с открытым исходным кодом для выполнения анализа данных на языке Python.

При работе с библиотекой Pandas в Python использование таких методов, как head() , describe()info() , DataFrame и Series  — основные структуры данных, isnull() , value_counts() , unique() , duplicated() или corr() — попарную корреляцию, что является практически обязательным стандартом при исследовании данных (EDA — Exploratory Data Analysis).

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

Что если вам необходим срочный отчет со встроенной визуализацией?

Несомненно вам пригодится инструмент который с легкостью обработает первичные данные с минимальным количеством строк кода и мы сможем получить визуальное представление, которое потребовало бы использования всевозможных методов подготовки данных упомянутые ранее.

Представляем вам Pandas-Profiling (сейчас ydata-profiling) — это Python-библиотека, которая создает подробные HTML-отчеты о данных одной строкой кода ProfileReport(df). Она автоматически анализирует типы переменных, распределения, корреляции, пропущенные значения и взаимосвязи, ускоряя разведочный анализ данных (EDA) и выявление проблем с качеством данных.

Несомненно это сэкономит кучу  времени!

Pandas-Profiling — это Библиотека Python с открытым исходным кодом 

GitHub: https://github.com/pandas-profiling/pandas-profiling

Это позволяет нам быстро проводить исследовательский анализ задействуя минимальное количество строк кода. Как я упоминал ранее, можно использовать эту библиотеку для создания интерактивного отчета, с распределением переменных, помимо других идей, обычно полученных в DataFrames. Отчет можно сохранить в формате HTML и легко делится с кем угодно. Классно, верно?!

Теперь давайте посмотрим на практике, как это работает.

Установка Pandas-Profiling

Вы можете установить его из командной строки через PIP.

pip install pandas-profiling

Создание исследовательского отчета об анализе данных

После его установки перейдите в ноутбук Jupyter и загрузите данные, которые вы хотите изучить как объект DataFrame. Например, мы можем использовать набор данных Titanic, но не стесняйтесь использовать нужные данные. Смотрите код ниже.

import pandas as pdurl = ‘https://raw.githubusercontent.com/gabrielatrindade/ml-playground/master/projects/titanic/dataset/train.csv’

titanic = pd.read_csv(url)

Тогда давайте импортируем ProfileReport Класс для создания отчета для DataFrame.

from pandas_profiling import ProfileReport

Теперь мы можем создать отчет.

profile = ProfileReport(titanic, explorative=True, title=’Titanic Exploratory Analysis’)profile

Назовем профиль Exploratory Analysis .

Мы можем видеть отчет как вывод в ноутбуке Юпитера. Возможно вы захотите сгенерировать HTML-файл, чтобы поделиться им с кем -то. Попробуйте код ниже.

profile.to_file(‘output_titanic_report.html’)

Отчет состоит из большого количества информации, ниже я перечислю большинство из них.

  • Обзор: Мы можем увидеть некоторые общие статистики данных, информацию о отчете и предупреждениях, для понимания, которые могут сильно повлиять на анализ, такие как большое количество нулевых значений в переменной, дублированных рядов и высокая корреляция между переменными.
  • Переменные: состоит из описательной и квантильной статистической информации для каждой переменной. Кроме того, можно увидеть гистограмму и общие и экстремальные значения переменной, в случае непрерывных переменных, а также круговую диаграмму и частоту каждого значения для категориальных данных.
  • Взаимодействия: позволяет нам видеть взаимосвязь между двумя переменными через визуализацию графика рассеяния.
  • Корреляции: Показывает тепловую карту Пирсона, Спирмена, Кендалла и Матрицы Корреляции Фика.
  • Отсутствующие значения: Через гистограмму или визуализацию матрицы можно увидеть недостающие значения для каждой переменной.
  • Образец: Первые 10 рядов и последние 10 рядов напечатаны.
  • Дубликаты рядов: показывает дублированные ряды.

На изображении ниже вы можете увидеть, как оно выглядит.

Pandas-Profiling ограничения

Одним из ограничений, которое я мог видеть в Pandas-Profiling, является то, что оно применяется к крупным наборам данных, потому что, поскольку размер набора данных увеличивается, время генерации отчетов значительно увеличивается.

Одним из способов решения этой проблемы является создание отчета из выборки набора данных. В этом случае, если вы выбираете несколько строк, важно убедиться, что они являются репрезентативными для всех данных, которые у вас есть, или вы также можете выбрать переменные, которые вы хотите изучить.

Другим способом решения этой проблемы является использование минимального режима (представленного в версии профилирования Pandas 2.4). Это генерирует упрощенный отчет, занимая меньше времени, чем полный.

profile = ProfileReport(titanic, minimal=True, title=’Titanic Exploratory Analysis’)

Вывод

Мы рассмотрели, как легко можно получить аналитический отчет о первичных данных, используя эту библиотеку Pandas-Profiling для python. С помощью нескольких строк кода мы можем создать отчет и создать для него файл в формате HTML.

Класс ProfileReport может сэкономить много времени на этапе подготовки данных и получения некоторого понимания о них.

Надеюсь, что вас это заинтересовало и поможет в вашей работе или практике!

Источник : “https://dev.to/gtrindadi/creating-an-exploratory-data-analysis-report-with-pandas-profiling-n4f”

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *