Из TowardsDataScience, автор: Питер Ниструп, составлено сердцем машины, участие: Король Демонов.
1. Pandas Profiling
2. Нанесите данные Pandas с помощью Cufflinks и Plotly
4. Форматирование в Jupyter
5. Ярлыки Jupyter
7. Мгновенно создавайте слайд-шоу для Jupyter Notebooks
1. Pandas Profiling
Инструмент работает хорошо. На следующем рисунке показан результат вызова простого метода df.profile_report():
Чтобы использовать этот инструмент, просто установите и импортируйте пакет Pandas Profiling.
2. Нанесите данные Pandas с помощью Cufflinks и Plotly
Это здорово, но можно ли нарисовать интерактивную, масштабируемую, расширяемую панораму? Запонкам ** пора выходить! (Cufflinks — это еще одна оболочка, основанная на Plotly.)
Чтобы установить Cufflinks в вашей среде, просто запустите !pip install cufflinks --upgrade в терминале. Посмотрите на изображение ниже:
Обратите внимание, что единственное, что изменилось на изображении выше, — это импорт и настройка Cufflinks cf.go_offline(), который изменяет метод .plot() на .iplot().
Другие методы, такие как .scatter_matrix(), также могут обеспечить отличную визуализацию:
Документация по запонкам: https://plot.ly/ipython-notebooks/cufflinks/
Сюжетная документация: https://plot.ly/
3. Волшебные команды IPython
%lsmagic:найти все команды
%отлаживать:интерактивная отладка
Это, наверное, волшебная команда, которую я использую чаще всего.
Большинство специалистов по данным сталкивались с такой ситуацией: исполнительный блок продолжает ломаться, и вы в отчаянии пишете 20 операторов print(), пытаясь вывести содержимое каждой переменной. Затем, когда вы, наконец, решите проблему, вам придется вернуться и снова удалить все операторы print().
Но не больше. Когда вы сталкиваетесь с проблемой, просто выполните команду %debug, чтобы выполнить любую часть кода, которую вы хотите запустить:
Что происходит на картинке выше?
У нас есть функция, которая принимает список в качестве входных данных и возводит в квадрат все четные числа.
Мы запускаем функцию, но что-то идет не так. Но мы не знаем, что происходит!
Используйте команду %debug для этой функции.
Пусть отладчик сообщает нам значение x и type(x).
Проблема очевидна: мы ввели в функцию '6' как строку!
Это полезно для более сложных функций.
%хранить:Передача переменных между блокнотами
Эта команда тоже классная. Предположим, вы потратили некоторое время на очистку данных в своей записной книжке, а теперь хотите протестировать некоторые функции в другой записной книжке. Вы реализуете эту функциональность в той же записной книжке или сохраняете данные и загружаете их в другую записную книжку? Ни одна из этих операций не требуется после использования команды %store! Эта команда сохранит переменную, которую вы можете получить в любой другой записной книжке:
%store [переменная] Сохранить переменную.
%store -r [переменная] Чтение/получение переменных хранилища.
%ВОЗ:Перечислите все глобальные переменные.
Вы когда-нибудь сталкивались с ситуацией, когда вы забыли имя переменной после присвоения ей значения? Или случайно удалили ячейку, отвечающую за присвоение переменной? С помощью команды %who вы можете получить список всех глобальных переменных:
Используйте эту команду для получения всей информации о времени. Просто примените команду %%time к любому исполняемому коду, и вы можете получить такой вывод:
%%writefile:Записать содержимое ячейки в файл
Эта волшебная команда очень полезна при написании сложных функций или классов в блокноте и сохранении их в специальном файле. Просто добавьте к ячейке функции или класса префикс %%writefile и имя файла, в который вы хотите сохранить:
Как показано выше, мы можем сохранить созданную функцию в файл utils.py, а затем импортировать ее по желанию. Это работает и в других блокнотах, если они находятся в том же каталоге, что и файл utils.py.
4. Форматирование в Jupyter
Это средство крутое! Jupyter учитывает наличие форматирования HTML/CSS в уценке. Вот функции, которые я использую чаще всего:
синий, мода:
<div class="alert alert-block alert-info">
This is <b>fancy</b>!
</div>
Рыжий, слегка смутившись:
<div class="alert alert-block alert-danger">
This is <b>baaaaad</b>!
</div>
<div class="alert alert-block alert-success">
This is <b>gooood</b>!
</div>
5. Ярлыки Jupyter
Чтобы изучить и выучить сочетания клавиш, можно использовать Палитру команд: Ctrl+Shift+P для получения списка всех функций блокнота. Вот некоторые из самых основных команд:
Esc: войти в командный режим. В командном режиме вы можете использовать клавиши со стрелками для навигации по записной книжке.
A и B: вставьте новую ячейку выше (выше) или ниже (ниже) текущей ячейки.
M: текущая ячейка переходит в состояние Markdown.
Y: Текущая ячейка переводится в кодовое состояние.
D, D: удалить текущую ячейку.
Enter: текущая ячейка возвращается в режим редактирования.
Shift + Tab: предоставляет строку документации (документацию) для объекта, который вы вводите в текущую ячейку.Используйте это сочетание клавиш постоянно, чтобы переключаться между режимами документа.
Ctrl + Shift + -: разделить текущую ячейку в позиции курсора.
Esc + F: найти и заменить код (исключая вывод).
Esc + O: переключить вывод ячейки.
Выберите несколько ячеек:
Shift + Down и Shift + Up: выберите ячейки ниже или выше.
Shift + M: объединить выбранные ячейки.
Обратите внимание, что после выбора нескольких ячеек вы можете выполнять операции удаления/копирования/вырезания/вставки/запуска в пакетном режиме.
6. Сделайте так, чтобы ячейка имела несколько выходов одновременно в Jupyter (или IPython)
from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"
7. Мгновенно создавайте слайд-шоу для Jupyter Notebooks
С помощью RISE вы можете мгновенно превратить блокнот Jupyter в слайд-шоу всего одним нажатием клавиши. А когда блокнот все еще активен, вы можете выполнять кодирование в режиме реального времени, представляя свои слайды!
conda install -c conda-forge rise
pip install RISE
Теперь вы можете нажать новую кнопку, чтобы создать красивые слайды для вашего блокнота: