Как включить подсказки в jupiter notebook
Перейти к содержимому

Как включить подсказки в jupiter notebook

  • автор:

Как вызвать справку jupyter notebook?

Каким сочетанием клавиш можно вызвать справку по вводимой функции в jupyter notebook?
Так, что-бы справка выводилась по ходу ввода функции.

Отслеживать

12.5k 7 7 золотых знаков 19 19 серебряных знаков 48 48 бронзовых знаков

задан 18 фев 2017 в 17:09

Андрей Баев Андрей Баев

23 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков

function_name? нажать Ctrl+Enter . Чтобы посмотреть исходный код — function_name?? нажать Ctrl+Enter

18 фев 2017 в 17:13

@MaxU, мне кажется вопрос скорее о том, чтобы во всплывающей подсказке в процессе ввода видеть «прототип» функции, ее принимаемые параметры, например. Мне, кстати тоже интересно)

18 фев 2017 в 20:40

@insolor, можно набрать имя функции, модуля и нажать Shift+Tab

Секрет оптимизации процесса написания кода на Python в Jupyter Notebook, который все знают, но мало кто использует

Время – самый ценный ресурс, а также невосполнимый. Чаще всего осознание этого приходит в момент, когда истекает крайний срок выполнения поставленной задачи. Тогда мы начинаем анализировать, на что было оно потрачено, насколько рационально и была ли возможность сделать быстрее. Если данную ситуацию рассматривать с позиции IT-специалиста, то, на мой взгляд, поставленную задачу можно поделить на три этапа:

  1. «План» – разработать алгоритм решения и определить необходимые ресурсы;
  2. «Кодинг» – написать скрипт или SQL-запрос в зависимости от поставленной задачи;
  3. «Результат» – получить и проанализировать результат, в случае ошибки или медленной работы, провести отладку или оптимизацию.

Для каждого этапа существуют методы и инструменты, с помощью которых можно сократить временные трудозатраты, но более подробно хочу остановиться на этапе кодинга. Ведь на скорость, кроме высокого уровня владения языком программирования и наличие опыта, влияет уровень знания инструмента, в котором пишется код. Поэтому, IT-специалисты, которые не изучают доступный функционал своих рабочих приложений, упускают возможность повысить свою производительность.

Далее хочу поделиться своим опытом оптимизации процесса написания кода на Python в Jupyter Notebook.

Начнем с самого простого, что не требует дополнительной настройки, а именно с горячих клавиш (комбинаций кнопок на клавиатуре, при нажатии которых выполняются команды без использования мыши).

Часто используемые команды:

«Alt» + «Enter» – Выполнение текущей ячейки и перевод фокуса на новую ячейку, созданную ниже

«Shift» + «Enter» – Выполнение текущей ячейки и перевод фокуса на следующую

«Ctrl» + «Enter» – Выполнение текущей ячейки и сохранение фокуса на текущей ячейке

«Esc» => Переход из режима редактирования (edit mode) в командный (command mode):

«Esc» => «A» – Добавление пустой ячейки сверху или «B» – Добавление пустой ячейки снизу

«Esc» => «C» – Копирование ячейки и «V» её вставка

«Esc» => «X» – Вырезание ячейки и «V» её вставка

«Esc» => «DD» – Удаления ячейки

«Esc» => «Z» – Отмена удаления ячейки

Для применения к нескольким ячейкам:

«Esc» => «Shift» + «K» или «Up» – Выделение ячеек выше текущей

«Esc» => «Shift» + «J» или «Down» – Выделение ячеек ниже текущей

Для максимального исключения использования мыши:

«Esc» => «Shift» + «M» – Объединение нескольких ячеек

«Ctrl» + «Shift» + «–» – Разделение на несколько ячеек (поставьте курсор перед линией, с которой должна начаться вторая ячейка)

«Esc» => «00» – Перезапуск блокнота

«Esc» => «F» – Поиск и замена информации в ячейках

«Esc» => «Space» – Прокрутка блокнота вниз

«Esc» => «Shift + Space» – Прокрутка блокнота вверх

«Esc» => «1, 2, 3, 4, 5, 6» – Определение заголовка в markdown

«Esc» => «Y, M, R» – Конвертация типов ячеек (Code, Markdown, Raw)

«Esc» => «O» – Включение/Выключение вывода результата в ячейке

«Esc» => «L» – Включение/Выключение номеров строк в ячейке

На случай, если забыли и необходимо подсмотреть:

«Esc» => «H» – Вызывает окно помощь со списком горячих клавиш

«Esc» => «Ctrl + Shift +P» – Вызывает командную панель со списком горячих клавиш

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

Перейдем к более тонкой настройки Jupyter Notebook с помощью расширений «Nbextensions», они улучшат функционал и существенно модифицируют пользовательский интерфейс.

Для этого необходимо установить пакет «jupyter_contrib_nbextensions» с помощью двух команд:

Pip install jupyter_contrib_nbextensions Jupyter contrib nbextension install —user

После в Jupyter Notebook на стартовой странице появится вкладка «Nbextensions» с перечнем расширений.

При выборе одного из них, ниже подгружается описание и поле для настройки доступных параметров.

На текущий момент для себя выделил три расширения:

  1. Hinterland – для первого введенного символа выпадает меню автозаполнения кода, для функции выводится описание, что исключает необходимость нажатия клавиши «Tab»

2. Autopep8 – преобразует код Python в соответствии со стилевым руководством PEP8. Перед активацией расширения, дополнительно из командной строки запустить

Pip install autopep8 —user

Для преобразования написанного кода на панели инструментов появиться иконка в виде молота.

3. Code Folding – в код добавляются метки в виде треугольников для скрытия, удобно при объемных функциях

Общего списка какие расширения необходимо ставить нет, так как задачи, решаемые в Jupyter Notebook, разнообразны и лучше всего на собственном опыте его определять.

В дополнении предлагаю подумать о будущих задачах и создать свою базу знаний с помощью магических команд (magics).

Для создания и наполнения информацией используем команду «%%writefile» указываем в параметрах «—a» для добавления в файл, иначе будет перезаписываться и указываем имя файла «C:\Users\ … \Documents\MyBase.py», включив в него полный путь места хранения, после вставляем код, который хотим записать.

%%writefile -a C:\Users\ . \Documents\MyBase.py >>>»»»#Определяем список файлов для обработки import os #Путь к папке на ПК path_file = r’\Users\. \Documents\ ‘[:-1] #Собираем имена файлов для обработки list_file = [] for file in os.listdir(path_file): if file.endswith((‘.csv’)): list_file «»»

Если сохранять в том формате, который указан в примере, а именно после magics-команды пропустить строку и после «>>>»»»» прописать краткое пояснение, а со следующей строки вставить сохраняемый скрипт до ««»»», то при открытии файла в текстовом редакторе Notepad++ и выборе синтаксиса Python, вся сохраненная информация будет разбита на блоки.

MyBase.py открытый в Notepad++

Для вывода данных из созданной базы знаний используем команду «%pycat» и указываем имя файла «C:\Users\ … \Documents\MyBase.py», включив в него полный путь места хранения.

4 совета по улучшению Jupyter Notebooks

Jupyter Notebooks — отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как анализ данных и наука о данных.

Однако многие не знакомы со всеми возможностями Jupyter Notebooks и используют лишь основные функции написания кода Python и отображения графиков.

Рассмотрим 4 полезных совета, которые помогут улучшить функциональность Jupyter Notebooks!

(1) Выполнение команд оболочки

Оболочка в техническом/программном контексте — это способ взаимодействия с компьютером через текстовые команды. Самая популярная оболочка Unix — это Bash (Bourne Again SHell). Она является оболочкой по умолчанию, а найти ее можно через терминал на любом компьютере с Linux.

Довольно часто при работе с Python нужно переключаться между написанием кода Python и использованием оболочки. Например, чтобы прочитать определенный файл с диска с помощью Python, для начала необходимо проверить его имя. Обычно вы просто заходите в терминал и набираете команду ls, чтобы получить список всех файлов и папок в текущей директории. Эти скачки туда-сюда довольно утомительны и неэффективны.

Одной из интересных особенностей Jupyter является возможность выполнения команд оболочки без необходимости покидать браузер. Нужно лишь поставить дополнительный восклицательный знак ! перед командой оболочки, и Jupyter переведет его в Bash. Любую команду, работающую в командной строке, можно использовать в Python Jupyter Notebook с префиксом ! .

# Список содержимого папки
>>> !ls
mynotebook.ipynb stuff.txt
# Получение текущей директории
>>> !pwd
/home/george/github/project_1
# Печать из Bash
>>> !echo "Pizza is delicious!"
Pizza is delicious!

Также можно присваивать выходные данные команд оболочки переменным Python, как показано ниже:

# Получение текущей директории. 
# Переменная "X" теперь содержит ["/home/george/github/project_1"]
X = !pwd

(2) Изменение тем

Во многих текстовых редакторах и программных IDE есть настраиваемые темы. Большинство разработчиков предпочитают темные режимы, такие как monaki, поскольку они более комфортны для глаз при длительном нахождении перед экраном, и в Jupyter тоже есть плагин для выбора тем.

Чтобы установить его, просто запустите команду pip в терминале:

pip install jupyterthemes

Получить список доступных тем можно следующим образом:

jt -l

На момент написания этой статьи были доступны следующие темы:

chesterish
grade3
gruvboxd
gruvboxl
monokai
oceans16
onedork
solarizedd
solarizedl

Некоторые из них представлены ниже:

(3) Расширения для ноутбуков

Расширения Jupyter Notebook — nbextensions — это модули JavaScript для улучшения функций ноутбука. Они существенно модифицируют пользовательский интерфейс Jupyter, расширяя функциональность.

Начнем с установки nbextensions через pip:

pip install jupyter_contrib_nbextensions 
jupyter contrib nbextension install

После завершения установки запустите Jupyter. Появится новая вкладка под названием NBextensions, в которой находится множество опций расширения Jupyter Notebooks!

Узнать, какие функции предоставляют эти расширения, можно с помощью быстрого поиска Google. Рассмотрим некоторые из наиболее полезных вариантов ниже:

(1) Генерация оглавления

Эта функция автоматически генерирует оглавление для ноутбука на основе заголовков, созданных с помощью хэштегов # . Например:

# Самый большой заголовок
## Большой заголовок
### Средний заголовок
#### Маленький заголовок

У каждого заголовка в таблице есть ссылка на соответствующий раздел. Это очень удобная для использования функция при росте ноутбука и множестве разделов!

(2) Автодополнение

Автодополнение — очень распространенная функция в большинстве IDE, особенно PyCharm для Python. Она значительно упрощает работу разработчиков, избавляя их от необходимости запоминать каждую команду, поскольку IDE разберется с этим самостоятельно.

Hinterland активирует автодополнение кода в Jupyter Notebooks. По мере ввода будут появляться предложения. Например, при поиске команды из внешней библиотеки, как показано в примере ниже. Очень удобно!

(3) Разделение ячеек

Разделение ячеек позволяет просматривать 2 ячейки рядом друг с другом. Это очень удобно при наличии двух связанных ячеек, таких как описание и визуализация.

(4) Исследование Dataframes с Qgrid

И, наконец, мы переходим к Qgrid — инструменту для исследования и редактирования фреймов данных без дополнительного кода Pandas.

Qgrid визуализирует фреймы данных Pandas в ноутбуках Jupyter в интерактивном режиме. Эта визуализация предоставляет такие элементы управления, как прокрутка, сортировка и фильтрация, а также возможность редактирования фрейма данных двойным щелчком на нужную ячейку.

Начнем с установки Qgrid:

pip install qgrid
jupyter nbextension enable --py --sys-prefix widgetsnbextension

Чтобы визуализировать фрейм данных с помощью Qgrid, просто импортируйте его, а затем передайте в функцию show_grid следующим образом:

import qgrid
qgrid_widget = qgrid.show_grid(df, show_toolbar=True)
qgrid_widget

Вы получите фрейм данных с несколькими интерактивными опциями:

  • Добавление и удаление строк
  • Фильтрация строк
  • Редактирование ячеек

Помимо этого, есть несколько интерактивных опций, которые можно активировать, передав больше аргументов функции show_grid . Узнать более подробную информацию о функциональности Qgrid можно на официальной странице в GitHub.

Заключение

Вот и все! Мы рассмотрели 4 полезных совета по улучшению Jupyter Notebooks. Если вы хотите ознакомиться и с другими возможностями, то загляните в официальную документацию.

  • Прокачка Jupyter Notebooks
  • Как легко оптимизировать Jupyter Notebook. Часть 1
  • Настройте свой Jupyter Notebook правильно

Как включить подсказки в jupiter notebook

Комментарии

Популярные По порядку
Не удалось загрузить комментарии.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

ТОП-15 книг по Python: от новичка до профессионала

Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.

DeepFake-туториал: создаем собственный дипфейк в DeepFaceLab

Рассказываем о технологии DeepFake и шаг за шагом учимся делать дипфейки в DeepFaceLab – нейросетевой программе, меняющей лица в видеороликах.

Пишем свою нейросеть: пошаговое руководство

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

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

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