Нажмите "Enter" для перехода к содержанию

10 простых хаков, которые ускорят анализ данных Python

0

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

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

1. Профилирование pandas DataFrame

Профилирование – процесс, который помогает понять наши данные, а Pandas Profiling – Python библиотека, которая делает это. Простой и быстрый способ выполнить предварительный анализ данных Python Pandas DataFrame .

Функции pandas df.describe() и df.info() , как правило, становятся первым шагом в автоматизации проектирования электронных устройств. Но это даёт лишь базовое представление о данных и мало помогает при больших наборах. Зато функция Pandas Profiling отображает много информации с помощью одной строки кода и в интерактивном HTML-отчёте.

Для представленного набора данных пакет Pandas Profiling вычисляет следующую статистику:

Вычисление статистики в пакете Pandas Profiling

Анализ данных Python: установка

Применение

Используем испытанный временем набор данных Титаника, чтобы продемонстрировать потенциал универсального профилировщика языка программирования Python:

Эта единственная строка кода – всё, что нужно для отображения отчёта о профилировании данных в Jupyter Notebook. Отчёт подробный, включает графики, где это требуется.

Отчёт также экспортируем в интерактивный HTML-файл с помощью следующего кода:

2. Привнесите интерактивность в графики Pandas

В Pandas встроена функция .plot() как часть класса DataFrame . Однако визуализации, которые представляются с помощью этой функции, не интерактивные, что снижает привлекательность. Напротив, нельзя исключать лёгкость построения графиков с использованием функции pandas.DataFrame.plot() .

Что, если бы мы создавали интерактивные графики, как диаграммы с pandas без внесения больших изменений в код? К слову, это делается с помощью библиотеки Cufflinks.

Библиотека Cufflinks связывает силу plotly с гибкостью pandas для лёгкого построения графиков. Теперь посмотрим, как установить библиотеку и заставить работать в pandas .

Установка

Использование

Время увидеть магию, разворачивающуюся с набором данных Титаника.

df.iplot() против df.plot()

Визуализация снизу показывает статическую диаграмму, в то время как верхняя диаграмма – интерактивная и более подробная. И это без серьёзных изменений в синтаксисе.

3. Добавление Магии в анализ данных Python

Магические команды (magics) – набор удобных функций в Jupyter Notebook, которые предназначены для решения распространённых проблем анализа данных. Посмотрите доступные magics с помощью %lsmagic .

Список доступных магических функций

Магические команды делятся на два вида:

  • линейные magics, которые начинаются с одного символа % и работают с одной строкой ввода;
  • ячеечные magics, связанные с двойным префиксом %% и работающие с несколькими строками ввода.

Магические функции вызываются без ввода начального % , если установлено значение 1. Вот из них, которые пригодятся в общих задачах анализа данных:

  • %pastebin

%pastebin загружает код в Pastebin и возвращает URL. Pastebin – онлайн-хостинг, где сохраняем простой текст, такой как фрагменты исходного кода, а затем предоставляем URL-адрес другим пользователям. На самом деле, Github Gist также похож на Pastebin, хотя и с контролем версий.

Python-скрипт file.py с таким содержимым:

Использование %pastebin в Jupyter Notebook генерирует URL-адрес pastebin.

  • %matplotlib notebook

Функция %matplotlib inline используется для визуализации статических графиков matplotlib в блокноте Jupyter Notebook. Замените inline на notebook , чтобы легко получить масштабирование и изменение размеров графиков. Убедитесь, что функция вызывается перед импортом библиотеки matplotlib .

  • %run

Функция %run запускает Python-скрипт внутри Notebook.

  • %%writefile

%%writefile записывает содержимое ячейки в файл. Здесь код будет записан в файл с именем foo.py и сохранён в текущем каталоге.

  • %%latex

Функция %%latex превращает содержимое ячейки в LaTeX. Это полезно для написания математических формул и уравнений в ячейке.

4. Поиск и устранение ошибок

Интерактивный отладчик также относится к магическим функциям, но программист Python выделил для него отдельную категорию. Если получаете исключение при выполнении ячейки кода, введите %debug в новой строке и запустите. Это открывает интерактивную среду отладки, которая приводит к месту, где произошло исключение. Также здесь проверяем значения переменных, которые задали в программе, и выполняем операции. Для выхода из отладчика нажмите q .

5. Отображение тоже будет симпатичным

Хотите создать эстетически приятное представление структур данных? Модуль pprint – ваша палочка-выручалочка. В особенности полезен при отображении словарей или данных JSON. Смотрите пример, где используются print и pprint для печати вывода:

6. Анализ данных Python с выделением заметок

Используйте окна предупреждений или заметок в Jupyter Notebook, чтобы выделить важное. Цвет заметки зависит от типа оповещения. Добавьте один или все представленные блоки кода в ячейку, которую хотите выделить.

  • Голубое окно: информация
  • Жёлтое окно: предупреждение
  • Зелёное окно: успех
  • Красное окно: опасность

7. Печать всех выходных данных ячейки

Посмотрите на ячейку Jupyter Notebook, которая содержит следующие строки кода:

Это нормальное свойство ячейки, когда печатается только последний вывод, а для остальных добавляем функцию print() . Что же, получается, чтобы напечатать все выходные данные, добавьте следующий фрагмент вверху Notebook.

Теперь все выходные данные печатаются друг за другом.

Чтобы вернуться к исходным настройкам:

8. Запуск скриптов Python с опцией «i»

Типичный способ запуска скрипта Python из командной строки: python hello.py . Однако, если добавите дополнительный -i при запуске того же скрипта, например, python -i hello.py , это даст больше преимуществ. Посмотрим каких.

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

Это приведёт нас к месту, где произошло исключение, и позволит дальше работать c кодом.

9. Автоматическое комментирование кода

Ctrl/Cmd + / автоматически закомментирует выделенные строки в ячейке. Повторное нажатие комбинации раскомментирует ту же строку кода.

10. Чуть божественного в анализ данных Python – восстановление

Вы когда-нибудь случайно удаляли ячейку в Jupyter Notebook? Если да, то здесь доступно сокращение, которое отменяет действие удаления.

  • В случае, если удалили содержимое ячейки, вы можете легко восстановить его, нажав CTRL/CMD+Z
  • Для восстановления полностью удалённой ячейки нажмите ESC+Z или EDIT > Undo Delete Cells

Заключение

Эта статья вобрала базовые советы, которые облегчат программирование на Python и работу с Jupyter Notebook. Уверены, что эти фишки будут вам полезны. Удачного Кодинга!

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

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