Преимущества этого инструмента очевидны. Анимация ниже создана с помощью вызова метода df.profile_report()
:
С помощью этого инструмента можно с легкостью устанавливать и импортировать пакет Pandas Profiling.
Многие из нас хорошо знакомы с интеграцией matplotlib и pandas, особенно с возможностью быстро создавать графики pd.DataFrame или pd.Series с помощью простого вызова метода .plot()
:
А как насчет интерактивного и масштабируемого графика? Cufflinks спешит на помощь!
Для установки Cufflinks в своем окружении просто запустите ! pip install cufflinks --upgrade
и любимый терминал, и вы готовы к работе!
Обратите внимание, что единственное изменение — это импорт и установка cf.go_offline()
для Cufflinks. Более того, мы лишь изменили метод .plot()
на .iplot()
.
Другие методы, такие как .scatter_matrix()
, также могут создавать действительно хорошую визуализацию:
Тем, кто работает с большим количеством визуализации данных, я рекомендую взглянуть на документацию Cufflinks и Plotly, в которой можно найти больше интересных методов!
«Волшебство» в IPython представлено серией улучшений, размещенных поверх стандартного синтаксиса Python. Magic-команды бывают двух типов: линейная магия, которая обозначается префиксом %
и действует на одной строке ввода, и клеточная магия, обозначаемая двойным префиксом %%
и работающая с несколькими строками ввода. Ниже приведены некоторые из полезных функций этих команд:
Почему бы не начать со старого доброго принципа «помоги себе сам»? Команда %lsmagic
предоставляет полный список всех доступных Magic-команд:
Многие из нас сталкивались с подобной ситуацией: выполняемый блок кода постоянно выдает ошибку, и чтобы все исправить, приходится написать 20 операторов print() для вывода содержимого каждой переменной. Затем, решив проблемы, вам приходится возвращаться и удалять все функции печати.
Больше этого делать не нужно! Просто запустите команду %debug
после возникновения проблемы и выполните любую часть кода:
Что здесь происходит?
%debug
для перехода к моменту поломки функции.x
и type(x)
.'6'
передается как строка!Допустим, вы потратили некоторое время на очистку данных в notebook и теперь хотите протестировать некоторые функции в другом notebook. Соответственно вам нужно либо реализовать эту функцию в том же notebook, либо сохранить данные и загрузить их в другой notebook. Но только не при использовании %store
! Просто сохраните переменную и извлеките ее в любой notebook:
%store [variable]
сохраняет переменную.%store -r [variable]
читает/извлекает сохраненную переменную.
Случалось ли так, что вы присваивали какое-либо значение переменной, а затем забывали ее имя? А может, вы случайно удалили функцию ячеек, отвечающую за присвоение значения переменной? С помощью %who
можно получить список всех глобально присвоенных переменных:
С помощью этой простой команды можно получить всю необходимую информацию о времени выполнения. Просто примените команду %%time
к любому фрагменту выполняемого кода и вы получите следующий вывод:
С помощью этой команды можно сохранить сложную функцию или класс, которые записаны в notebook, в отдельном файле. Просто добавьте в ячейку функции или класса команду %%writefile
, а затем имя файла:
Как видите, созданная функция сохранена в файле «utils.py» и теперь ее можно импортировать любым удобным способом.
Jupyter предоставляет возможность форматирования HTML/CSS в ячейках markdown. Варианты, которые я использую чаще всего:
Синий:
<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>
Рассмотрим их в действии:
Это очень удобная функция для предоставления результатов в Notebook!
Рассмотрим самые основные команды:
Esc
: используется для входа в командный режим, в котором можно перемещаться по notebook с помощью клавиш со стрелками.
Командный режим:
A
и B
: вставляет новую ячейку [A] (выше) или [B] (ниже) текущей ячейки.M
: изменяет текущую ячейку на [M]arkdown.Y
: изменяет текущую ячейку на код.D,D
: удаляет текущую ячейку.Enter
: возвращает в режим редактирования для текущей ячейки.
Режим редактирования:
Shift + Tab
: отображает Docstring (документацию) для объекта, введенного в текущую ячейку. С помощью продолжительного нажатия на горячую клавишу можно переключаться между режимами документации.Ctrl + Shift + -
: разбивает текущую ячейку там, где находится курсор.Esc + F
: находит и заменяет исключенные выходные данные.Esc + O
: включает/отключает выходные данные ячейки.Выбор нескольких ячеек:
Shift + Down
и Shift + Up
: выбирает следующую ячейку в вертикальном или горизонтальном направлении.Shift + M
: объединяет выбранные ячейки.Хотели ли вы когда-нибудь отобразить .head() и .tail() DataFrame pandas, но сдавались на полпути из-за сложности создания дополнительной ячейки кода для запуска метода .tail()? Теперь можно отобразить все желаемые выходные данные с помощью следующих строк кода:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
Рассмотрим возможности нескольких выводов:
Проще простого!С помощью RISE можно превратить Jupyter Notebook в слайд-шоу одним нажатием клавиши. Более того, вы можете писать код в режиме реального времени во время презентации! Взгляните:
Источник: https://github.com/damianavila/RISEЧтобы использовать этот инструмент, просто установите RISE с помощью conda или pip в зависимости от окружения:
conda install -c conda-forge rise
/// ИЛИ ///
pip install RISE
Теперь вы сможете создавать красивые слайды из notebook простым нажатием на новую кнопку:
Перевод статьи Peter Nistrup: 7 things to quickly improve your Data Analysis in Python
Комментарии