
Продвинутые аналитики данных обычно выполняют первичный анализ данных упорядочивая их когда данные еще не очищены и требуют предварительного изучения, над которыми они будут работать дальше. Это один из первых шагов к очищению и структурированию данных , прежде чем выполнять дальнейший анализ, прогнозы и корреляцию на их основе.
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”