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

Короче говоря, профилирование pandas избавляет нас от работы по визуализации и пониманию распределения каждой переменной. Он генерирует отчет со всей легко доступной информацией.

Одна картинка стоит тысячи слов

Чтобы наглядно показать вам, как это работает, это пример отчета, созданного профилированием pandas:

Вы также можете просмотреть интерактивный отчет нажав на эту ссылку.

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

Как использовать профилирование панд

Первый шаг - установить его с помощью этой команды:

pip install pandas-profiling

Затем мы генерируем отчет с помощью этих команд:

from pandas_profiling import ProfileReport
prof = ProfileReport(df)
prof.to_file(output_file='output.html')

Вот и все, все было так просто. Мы можем увидеть отчет, созданный в файле output.html.

Недостаток профилирования панд

Основным недостатком профилирования pandas является его использование с большими наборами данных. С увеличением размера данных время создания отчета также значительно увеличивается.

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

Пример с кодом:

from pandas_profiling import ProfileReport
#We only use the first 10000 data points
prof = ProfileReport(df.sample(n=10000)) 
prof.to_file(output_file='output.html')

Другой альтернативой является использование минимального режима, представленного в версии 2.4 профилирования pandas. Вы можете проверить, какую версию вы установили, с помощью этой команды:

pandas_profiling.version.__version__

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

profile = ProfileReport(df, minimal=True)
profile.to_file(output_file="output_min.html")