Профилирование 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")