10 фич для ускорения анализа данных в Python |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-08-10 11:00 Советы и рекомендации, особенно в программировании, могут быть очень полезны. Маленький шоткат, аддон или хак может сэкономить кучу времени и серьёзно увеличить производительность. Я собрала свои самые любимые и сделала из них эту статью. Какие-то из советов ниже уже известны многим, а какие-то появились совсем недавно. Так или иначе, я уверена, они точно не будут лишними, когда вы в очередной раз приступите к проекту по анализу данных.
1. Профилирование Pandas Dataframe Профилирование помогает лучше понять наши данные, и пакет Pandas Profiling создан как раз для этого. Библиотека даст возможность просто и быстро выполнить разведочный анализ Pandas Dataframe. Обычно в таких случаях в качестве первого шага используются функции df.describe() и df.info(), но они сообщают мало и плохо справляются с большими наборами данных. Одна строка кода с использованием Pandas Profiling, напротив, выведет много информации в интерактивном HTML-отчете. Вот что вычисляется для заданного набора данных: Статистика выводимая Pandas Profiling.Установка
Использование Давайте используем набор данных о пассажирах Титаника, чтобы продемонстрировать возможности профайлера.
Это всё что нужно для вывода результатов профилирования. Отчёт изобилует деталями, включая, где это необходимо, диаграммы. Отчёт можно экспортировать в интерактивный HTML файл:
Кликните здесь, чтобы посмотреть вживую. (папка с примерами — прим. перев.) 2. Делаем графики Pandas интерактивными У класса DataFrame в Pandas есть встроенная функция .plot(). Однако визуализация создаваемая с её помощью, не является интерактивной, что хотелось бы усовершенствовать. С другой стороны, отказываться от простоты использования функции тоже не хочется. Что если бы мы могли сделать графики Pandas интерактивными, практически не внося изменений в код? Именно это возможно с библиотекой Cufflinks. Cufflinks связывает силу plotly с гибкостью Pandas для построения интерактивных графиков. Давайте посмотрим, как можно установить библиотеку и заставить её работать с Pandas. Установка
Использование
Время увидеть всю мощь инструмента на данных о пассажирах Титаника.
df.plot() в сравнении с df.iplot() Визуализация снизу показывает статическую диаграмму, в то время как верхняя диаграмма является интерактивной и более подробной, и всё это без каких-либо существенных изменений в синтаксисе. Здесь можно посмотреть больше примеров. 3. Немного магии Magic commands — это набор удобных функций в ноутбуках Jupyter, предназначенных для решения распространенных задач стандартного анализа данных. Вы можете посмотреть все доступные функции с помощью %lsmagic. Список всех доступных «магических» функцийМагические команды бывают двух видов: line magics, которые начинаются с единственного символа % и работают на одной строке; и cell magics, которые ассоциированы с двойным %% и работают на нескольких строках. Давайте рассмотрим те из них, которые полезны в общих задачах анализа данных:
%pastebin загружает код в Pastebin и возвращает урл. Pastebin — это сайт, где мы можем сохранить обычный текст, например фрагмент исходного кода, чтобы затем передать ссылку на него другим. Фактически, GitHub Gist сродни Pastebin, хотя и с контролем версий. Рассмотрим такой скрипт:
Использование %pastebin в Jupyter Notebook создаст урл на Pastebin.
Команда %matplotlib inline используется для визуализации статических графиков matplotlib в Jupyter Notebook. Замените inline на notebook, чтобы получить масштабируемые и изменяемые диаграммы. Только убедитесь, что команда добавлена перед импортом matplotlib. %matplotlib inline в сравнении с %matplotlib notebook
Команда %run запускает скрипт внутри Jupyter Notebook.
%%writefile записывает содержимое ячейки в файл. Код ниже будет записан в файл с именем foo.py и сохранён в текущем каталоге.
Функция %%latex отображает содержимое ячейки как LaTeX. Это полезно для написания математических формул и уравнений в ячейке. 4. Поиск и устранение ошибок Интерактивный отладчик также является магической командой, но я дала ему собственную категорию. Если при запуске ячейки с кодом возникает исключение, введите на новой строке команду %debug и выполните её. Откроется интерактивная среда отладки, которая покажет место, где возникло исключение. Вы сможете проверять значения переменных и выполнять различные операции. Для выхода из отладчика нажмите клавишу q. 5. Вывод может быть красивым Если вы хотите, чтобы ваши структуры данных выводились красиво, то pprint — ваш выбор. Это особенно полезно при печати словарей или данных JSON. Давайте рассмотрим код, который использует как print, так и pprint для вывода. 6. Выделение заметок Мы можем использовать алерты в наших Jupyter Notebooks, чтобы выделять что-то важное. Цвет будет зависеть от типа алерта. Просто добавьте любой или все из следующих кодов в ячейку, которую хотите выделить.
7. Печать каждого вывода в ячейке Рассмотрим ячейку Jupyter Notebook, содержащую такой код:
Это нормальное свойство ячейки, что печатается только последний вывод, а для других нам нужно добавить функцию print(). Что ж, оказывается, мы можем распечатать все выводы, добавив сверху следующий фрагмент:
Теперь все выводы печатаются один за другим.
Чтобы вернуться к исходной настройке:
8. Запуск скриптов на Python с опцией '-i'. Типичный способ запуска скрипта на Python из командной строки: python hello.py. Однако, если вы добавите параметр -i, т.е. вызовите python -i hello.py то получите гораздо больше. Посмотрим, что же именно.
Это приведёт нас к месту, где произошло исключение, и мы сможем продолжить работу над кодом. Оригинальный источник фичи. 9. Автоматическое (рас)комментирование кода Ctrl/Cmd + / автоматически комментирует выделенные строки в ячейке. Повторное нажатие комбинации раскомментирует те же строки. (Это, кстати, верно и для других редакторов типа Pycharm или Sublime Text — прим. перев.) 10. Отмена случайных действий Вы когда-нибудь случайно удаляли ячейку Jupyter Notebook? Если да, то вот шоткаты, которые отменят это действие.
Вывод В этой статье я перечислила основные советы, которые помогают мне при работе с Python и Jupyter Notebooks. Надеюсь, они помогут и вам. Счастливого кодинга! Источник: habr.com Комментарии: |
|