Код форматирования выводит
Форматирование вывода кода легко настраивается. Ниже мы приводим примеры того, как форматировать определенные выходные данные и даже вставлять выходные данные в другие места документа.
Шпаргалка MyST содержит список кодовых ячеек
доступных тегов
См. также
Документацию MyST-NB, чтобы узнать, как полностью настроить средство визуализации вывода.
Форматирование вывода библиотеки
Многие библиотеки поддерживают собственное форматирование вывода HTML, и это обычно также распространяется на выходные данные Jupyter Book.
Например, следующая ячейка использует Pandas для форматирования ячеек на основе их значений:
Показать исходный код ячейки Скрыть источник ячейки кодаимпортировать numpy как np импортировать панд как pd np.random.seed (24) df = pd.DataFrame({'A': np.linspace(1, 10, 10)}) df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))], ось=1) df. iloc[3, 3] = np.nan df.iloc[0, 2] = np.nan определение color_negative_red (val): """ Принимает скаляр и возвращает строку с свойство css `'color: red'` для отрицательного струны, в противном случае черные. """ color = 'красный', если val < 0, иначе 'черный' вернуть 'цвет: %s' % цвет защита highlight_max(s): ''' выделите максимум в ряду желтым цветом. ''' is_max = s == s.max() return ['фоновый цвет: желтый', если v иначе '' для v в is_max] дф.стиль.\ применить карту (color_negative_red).\ применить (highlight_max).\ set_table_attributes('style="размер шрифта: 10px"')
А | Б | С | Д | Е | |
---|---|---|---|---|---|
0 | 1.000000 | 1.329212 | нан | -0,316280 | -0,990810 |
1 | 2. 000000 | -1.070816 | -1.438713 | 0,564417 | 0,295722 |
2 | 3.000000 | -1,626404 | 0,219565 | 0,678805 | 1.889273 |
3 | 4.000000 | 0,961538 | 0,104011 | нан | 0,850229 |
4 | 5.000000 | 1.453425 | 1.057737 | 0,165562 | 0,515018 |
5 | 6.000000 | -1,336936 | 0,562861 | 1.392855 | -0,063328 |
6 | 7.000000 | 0,121668 | 1.207603 | 1,627796 | |
7 | 8.000000 | 0,354493 | 1. 037528 | -0,385684 | 0,519818 |
8 | 9.000000 | 1.686583 | -1.325963 | 1.428984 | -2.089354 |
9 | 10.000000 | -0,129820 | 0,631523 | -0,586538 | 0,2 |
См. документы Pandas Styling для получения дополнительной информации о стилях DataFrames и ознакомьтесь с документацией по выбранной вами библиотеке, чтобы узнать, поддерживают ли они аналогичные функции.
Прокрутка выходных данных ячейки
Традиционный интерфейс Jupyter Notebook позволяет переключать прокрутку вывода для ваших клеток. Это позволяет вам визуализировать часть длинного вывода, не занимая при этом всю страницу.
Вы можете вызвать это поведение в Jupyter Book, добавив следующее тег к метаданным ячейки:
{ "метки": [ "выход_прокрутка", ] }
Например, следующая ячейка имеет длинный вывод, но будет прокручиваться в книге:
для ii в диапазоне (40): print(f"это строка вывода {ii}")
это выходная строка 0 это выходная строка 1 это выходная строка 2 это выходная строка 3 это выходная строка 4 это выходная строка 5 это выходная строка 6 это выходная строка 7 это выходная строка 8 это выходная строка 9 это выходная строка 10 это выходная строка 11 это выходная строка 12 это выходная строка 13 это выходная строка 14 это выходная строка 15 это выходная строка 16 это выходная строка 17 это выходная строка 18 это выходная строка 19это выходная строка 20 это выходная строка 21 это выходная строка 22 это выходная строка 23 это выходная строка 24 это выходная строка 25 это выходная строка 26 это выходная строка 27 это выходная строка 28 это выходная строка 29 это выходная строка 30 это выходная строка 31 это выходная строка 32 это выходная строка 33 это выходная строка 34 это выходная строка 35 это выходная строка 36 это выходная строка 37 это выходная строка 38 это выходная строка 39
При написании документов уценки MyST вы можете использовать :tags: ["output_scroll"]
как вариант
к директиве кодовой ячейки
, такой как:
```{ячейка кода} ipython3 :теги: [output_scroll] для ii в диапазоне (40): print(f"это строка вывода {ii}") ```
Изображения
Для любых типов изображений, выводимых кодом, мы можем применить форматирование через метаданные ячейки . Затем для изображения мы можем применить все переменные стандартной директивы изображения:
ширина : длина или процент (%) от текущей ширины линии
высота : длина
масштаб : целое число в процентах (символ «%» необязателен)
выравнивание : «сверху», «посередине», «снизу», «слева», «по центру» или «справа»
классы : строки, разделенные пробелами
альтернативный : строка
Мы также можем установить заголовок (который отображается как CommonMark) и имя для ссылки на рисунок. Код
```{ячейка кода} ipython3 --- mystnb: изображение: ширина: 200 пикселей альтернатива: забавная рыба классы: тень bg-основной фигура: подпись: | Всем привет, время **вечеринки**! Название: веселая рыба --- из IPython.display импортировать изображение Изображение("../images/fun-fish.png") ```
производит следующую кодовую ячейку и цифру:
из IPython.display import Image Изображение("../images/fun-fish.png")
Рис. 11 Всем привет, партия время!
Теперь мы можем ссылаться на изображение из любой точки нашей документации: плавать к рыбе
См. также
Добавление метаданных в записные книжки
Уценка
Выходные данные Markdown анализируются с помощью MyST-Parser, в настоящее время с синтаксическим анализом, настроенным строго на CommonMark.
Затем проанализированный Markdown интегрируется в более широкий контекст документа. Это означает, что можно, например, включить внутренние ссылки:
из отображения импорта IPython.display, Markdown display(Markdown('**_some_ markdown** и [внутренняя ссылка](рендеринг/вывод/уценка)!'))
какой-то уценка
и внутренняя ссылка!и даже внутренние изображения могут быть отображены, как показано в приведенном ниже коде:
display(Markdown('![figure](. ./images/logo-wide.svg)'))
Выходы ANSI
По умолчанию стандартные выходные потоки/потоки ошибок и текстовые/обычные выходные данные MIME могут содержать escape-последовательности ANSI для изменения цвета текста и фона.
система импорта print("ОСТОРОЖНО: \x1b[1;33;41грязные цвета\x1b[m!", file=sys.stderr) print("AB\x1b[43mCD\x1b[35mEF\x1b[1mGH\x1b[4mIJ\x1b[7m" "КЛ\x1b[49mMN\x1b[39mOP\x1b[22mQR\x1b[24mST\x1b[27mUV")
ABCDEFGHIJKLMNOPQRSTUV
Используется встроенный AnsiColorLexer
лексер пигментов.
Вы можете изменить лексер, используемый в _config.yml
, например, чтобы отключить лексирование:
сфинкс: конфигурация: nb_render_text_lexer: "нет"
Следующий код показывает 8 основных цветов ANSI, на которых он основан. Каждый из 8 цветов имеет «интенсивную» вариацию, которая используется для жирного текста.
текст = "XYZ" formatstring = "\x1b[{}m" + текст + "\x1b[m" Распечатать( " " * 6 + " " * длина(текст) + "". {}}".format(bg, len(text)) для bg в диапазоне (40, 48)) ) для fg в диапазоне (30, 38): для полужирного в False, True: fg_code = ("1;", если полужирный, иначе "") + str(fg) Распечатать( " {:> 4} ".format(fg_code) + formatstring.format(fg_code) + "".Присоединиться( formatstring.format(fg_code + ";" + str(bg)) для bg в диапазоне (40, 48) ) )
40 41 42 43 44 45 46 47 30 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;30 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 31 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;31 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 32 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;32 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 33 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;33 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 34 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;34 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 35 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;35 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 36 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;36 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 37 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ 1;37 XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ
Примечание
ANSI также поддерживает набор из 256 индексированных цветов. В настоящее время это не поддерживается, но мы надеемся представить его позже. (поднимите вопрос в репозитории, если вам это нужно!).
Приоритет рендеринга
Когда Jupyter выполняет ячейку кода, он может создавать несколько выходных данных, и каждый из этих выходных данных может содержать несколько типов мультимедиа MIME для использования с различными форматами вывода (например, HTML или LaTeX).
MyST-NB хранит словарь приоритетов по умолчанию для большинства распространенных построителей вывода, который вы также можете обновить в своем _config.yml
.
Например, это список приоритетов по умолчанию для HTML:
сфинкс: конфигурация: nb_mime_priority_overrides: [ ['html', 'application/vnd.jupyter.widget-view+json', 10], ['html', 'приложение/javascript', 20], ['html', 'текст/html', 30], ['html', 'изображение/svg+xml', 40], ['html', 'изображение/png', 50], ['html', 'изображение/gif', 60], ['html', 'изображение/jpeg', 70], ['html', 'текст/уценка', 80], ['html', 'текст/латекс', 90], ['html', 'текст/обычный', 100] ]Поддержка ноутбуков Jupyter
| Документация PyCharm
Благодаря интеграции Jupyter Notebook, доступной в PyCharm, вы можете легко редактировать, выполнять и отлаживать исходный код блокнота, а также проверять результаты выполнения, включая потоковые данные, изображения и другие медиафайлы.
Вы можете попробовать DataSpell, новую интегрированную среду разработки, адаптированную для рабочего процесса обработки данных. Он предоставляет совершенно новый опыт работы с ноутбуками Jupyter. Дополнительные сведения см. в Руководстве по началу работы с DataSpell.
Поддержка ноутбуков в PyCharm включает:
Помощь в кодировании:
Возможность запуска ячеек и предварительного просмотра результатов выполнения.
Специализированный отладчик Jupyter Notebook.
Ярлыки для основных операций с блокнотами Jupyter.
Возможность распознавать файлы .ipynb и помечать их значком.
Быстрый старт с блокнотом Jupyter в PyCharm
Чтобы начать работу с блокнотом Jupyter в PyCharm:
Создайте новый проект Python, укажите виртуальную среду и установите пакет jupyter.
Откройте или создайте файл .ipynb.
Добавление и редактирование исходных ячеек.
Выполните любую из ячеек кода, чтобы запустить сервер Jupyter.
Ознакомьтесь с пользовательским интерфейсом
Обратите внимание на следующие особенности пользовательского интерфейса при работе с блокнотами Jupyter в PyCharm.
Редактор блокнотов
Блокнот Jupyter, открытый в редакторе, имеет свои особые элементы пользовательского интерфейса:
Панель инструментов блокнота Jupyter: обеспечивает быстрый доступ к наиболее популярным действиям. Остальные действия, относящиеся к записной книжке, доступны в меню «Ячейка».
Ячейка кода: ячейка блокнота, содержащая исполняемый код
Вывод ячейки: результаты выполнения ячейки кода; может быть представлен текстовым выводом, таблицей или графиком.
Панель инструментов ячейки: панель инструментов ячейки кода с наиболее популярными командами. По умолчанию панели инструментов ячеек отключены. Чтобы включить их, откройте Настройки проекта ( Ctrl+Alt+S ), перейдите в раздел Языки и рамки | Jupyter и установите флажок Показать панель инструментов ячейки.
Панель инструментов ячейки
Каждая ячейка кода имеет свою настраиваемую панель инструментов, так что вы можете легко получить доступ к наиболее популярным командам и действиям. По умолчанию панели инструментов ячеек отключены. Чтобы включить их, откройте Настройки проекта ( Ctrl+Alt+S ), перейдите в раздел Языки и платформы | Jupyter и установите флажок Показать панель инструментов ячейки. ⏎"> Ctrl+Enter , чтобы запустить ячейку кода.
Выполняет эту ячейку и выбирает ячейку ниже. Нажмите Shift+Enter для вызова того же действия.
Перемещает текущую ячейку вверх.
Перемещает текущую ячейку вниз.
Удаляет текущую ячейку.
Открыть список дополнительных действий вызова:
Выполнить все вышеперечисленное: Выполняет все ячейки, предшествующие выбранной ячейке.
Ячейка отладки: запускает отладчик для текущей ячейки. Сначала вы должны установить точку останова. Просто щелкните желоб рядом с линией, на которой хотите остановиться.
Объединить ячейку выше: объединяет текущую ячейку с ячейкой выше.
Объединить ячейку ниже: объединяет текущую ячейку с ячейкой ниже.
Разделить ячейку: разделяет текущую ячейку по выбранной строке кода.
Преобразовать ячейку в код: Преобразует текущую ячейку в ячейку кода.
Преобразовать ячейку в Markdown: Преобразует текущую ячейку в ячейку Markdown.
Панель инструментов блокнота
Панель инструментов блокнота Jupyter обеспечивает быстрый доступ ко всем основным операциям с блокнотом:
Элемент панели инструментов | Описание |
---|---|
Добавляет ячейку кода ниже выбранной ячейки. | |
Перемещает выбранный элемент или элементы из текущего местоположения в буфер обмена. Перемещает всю ячейку, если она выбрана. | |
Копирует выбранный элемент или элементы в буфер обмена. Копирует всю ячейку, если она выбрана. | |
Вставляет содержимое буфера обмена в выбранное место. Если вы выбрали всю ячейку, содержимое вставляется в новую ячейку ниже выбранной. | |
Перемещает текущую ячейку вверх. | |
Перемещает текущую ячейку вниз. | |
Выполняет эту ячейку и выбирает ячейку ниже. Если ниже нет ячейки, PyCharm создаст ее. | |
Запускает отладку для этой ячейки. | |
Щелкните этот значок, если хотите прервать выполнение любой ячейки. | |
Щелкните этот значок, чтобы перезапустить запущенное в данный момент ядро. | |
Выполняет все ячейки в записной книжке. | |
Вы можете выбрать тип ячейки из этого списка и изменить тип выбранной ячейки. | |
Удаляет текущую ячейку. | |
Виджет сервера Jupyter, который показывает используемый в данный момент сервер Jupyter. Щелкните виджет и выберите «Настроить сервер Jupyter», чтобы настроить другой локальный или удаленный сервер Jupyter. | |
Список доступных ядер Jupyter. | |
Установите этот флажок, чтобы разрешить выполнение JavaScript в блокноте Jupyter. | |
Это действие выбирает ячейку выше. | |
Это действие выбирает удар ячейки. | |
Блокнот можно просмотреть в браузере. |