Jupiter notebook увеличить память

Обновлено: 02.07.2024

Я хотел бы увеличить ширину ноутбука ipython в моем браузере. У меня есть экран с высоким разрешением, и я хотел бы расширить ширину/размер ячейки, чтобы использовать это дополнительное пространство.

и этого команды:

который устанавливает ширину 100% с хорошей темой.

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

это div.cell решение на самом деле не работало на моем IPython, однако, к счастью, кто-то предложил рабочее решение для новых IPythons:

/.ipython/profile_default/static/custom/custom.css (iPython) или

/.jupyter/custom/custom.css (Jupyter) с содержанием

затем перезапустите ноутбуки iPython/Jupyter. Обратите внимание, что это повлияет на все ноутбуки.

чтобы заставить это работать с jupyter (версия 4.0.6), я создал

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

в частности, создание файла, содержащего

должно дать вам отправную точку. Однако, возможно, потребуется также скорректировать e.g div.text_cell_render для работы с уценкой, а также кодовыми ячейками.

если этот файл custom.css затем добавьте ячейку, содержащую:

это примените все стилизации, и, в частности, измените ширину ячейки.

пришло время использовать jupyterlab

наконец, в ноутбуки пришло столь необходимое обновление. По умолчанию он использует полную ширину вашего окна, как и любая другая полноценная собственная IDE.

все, что вам нужно сделать, это:

(С 2018 года я бы посоветовал попробовать JupyterHub / JupyterLab. Он использует всю ширину монитора. Если это не вариант, возможно, так как вы используете один из облачных провайдеров Jupyter-as-a-service, продолжайте читать)

Я рекомендую использовать Стильный Плагин Для Браузера. Таким образом, вы можете переопределить css для всех ноутбуков без добавления кода в ноутбуки. Мы не любим менять конфигурацию .ipython / profile_default, так как мы запускаем общий Сервер Jupyter для всей команды и ширины является предпочтением пользователя.

и последнее, но не менее важное: Stylish-отличный инструмент для вашего набора инструментов, так как вы можете легко настроить другие сайты/инструменты по своему вкусу (например, Jira, Podio, Slack и т. д.)

что я обычно делаю после новой установки, это изменить основной файл css, где хранятся все визуальные стили. Я использую Miniconda, но местоположение похоже на другие C:\Miniconda3\Lib\site-packages\notebook\static\style\style.min.css

С некоторыми экранами эти разрешения отличаются и больше, чем 1. Чтобы быть в безопасности, я меняю все на 98%, поэтому, если я отключусь от внешних экранов на своем ноутбуке, у меня все еще есть ширина экрана 98%.

тогда просто замените 1140px с 98% экрана ширина.

enter image description here

enter image description here

Сохраните и перезагрузите ноутбук

обновление

недавно пришлось расширить ячейки Jupyter на среде, в которой он установлен, что заставило меня вернуться сюда и напомнить себе.

Если вам нужно сделать это в виртуальном env вы установили jupyter на. Вы можете найти файл CSS в этом подкаталог

для пользователей Chrome, я рекомендую Stylebot, который позволит вам переопределить любой CSS на любой странице, а также позволит вам искать и устанавливать другие пользовательские CSS. Однако для нашей цели нам не нужна никакая предварительная тема. Открыть Stylebot, изменить на Edit CSS . Jupyter захватывает некоторые нажатия клавиш, поэтому вы не сможете ввести код ниже. Просто скопируйте и вставьте, или только ваш редактор:

измените ширину, как вам нравится, я считаю, что 90% выглядит лучше, чем 100%. Но это полностью до вашего глаза.

Jupyter Notebook (ранее известный как IPython Notebook) — веб-оболочка для нескольких языков программирования: Julia, Python и R. Это одна из множества технологий, которые позволяют делать жизнь людей проще и лучше. Но установка пакета — только начало, есть множество вещей, которые можно доработать, чтобы сделать процесс разработки ещё удобнее.

В этой статье предполагается, что вы мало знакомы с Jupyter Notebook. Прежде чем мы перейдём к более хитрым трюкам, речь пойдёт о базовых вещах.

Если вы только открываете для себя эту тему, лучше сначала изучить вопрос с установкой и работой Anaconda.

Начало работы

После установки можно сразу приступить к работе. Для этого необходимо выполнить следующее:

Смена темы оформления

Чтобы настроить многими любимый тёмный режим, нужно зайти в терминал и установить Jupyterthemes:

Теперь можно установить тёмную тему:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Восстановить основную тему можно в любое время:

Найти Jupyterthemes можно в репозитории на GitHub.

Основные команды

Быстро получить доступ к сочетаниям клавиш можно с помощью комбинаций Ctrl+Shift+P или Cmd+Shift+P , тогда откроется диалоговое окно, похожее на Spotlight Search на Mac. Это поможет вам запустить любую команду по имени, что очень удобно, когда ещё не знаешь нужного сочетания клавиш.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Shift+Enter позволяет запустить текущую ячейку.

Esc переводит в командный режим. Он позволяет перемещаться по документу с помощью клавиш-стрелок.

Sportmaster Lab , Санкт-Петербург, Липецк, Москва , От 120 000 до 350 000 ₽

В командном режиме можно использовать:

  • А , чтобы вставить новую ячейку над текущей ячейкой;
  • B , чтобы вставить новую ячейку под текущей ячейки;
  • M , чтобы изменить текущую ячейку на Markdown;
  • Y , чтобы перейти обратно в кодовую ячейку;
  • D+D (двойное нажатие клавиши), чтобы удалить текущую ячейку;
  • Enter , чтобы вернуться из командного режима в режим редактирования.

Shift+Tab — покажет документацию для объекта, который вы только что ввели в ячейку кода. Для переключения между несколькими режимами продолжайте нажимать это сочетание клавиш.
Esc+F — поможет найти и заменить информацию в коде (кроме выходных данных).
Esc+0 — переключает вывод ячейки.
Shift+J (или Shift+Down ) — выделяет ячейки ниже текущей. Shift+K (или Shift+Up ) выделяет ячейки выше текущей. Как только ячейки выбраны, их можно удалить/скопировать/вырезать/вставить/запустить как пакет. Это удобно, когда нужно переместить только часть документа.
Shift+M — позволяет объединить несколько ячеек.

Кроме того, в документе можно запускать bash-команды, если в начале поставить восклицательный знак:

!pip install numpy

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

Комментирование/раскомментирование блока кода

Добавить новые строки кода и закомментировать старые можно сочетанием клавиш. Выделите все нужные строки и нажмите Cmd + / , это закомментирует выделенный код.

LaTex

Вы можете писать на LaTex в Markdown-ячейках, и они будет отображены в виде формулы.

Данная строка будет преобразована в следующую формулу:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Отображение данных из всех ячеек

По умолчанию отображается только последний вывод в ячейке. Для всего остального необходимо вручную добавить print() . Такой вариант хорош, но не очень удобен. Можно изменить это, добавив вверху документа следующее:

Отображение по умолчанию:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Отображение всех ячеек:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Чтобы вернуться к настройкам по умолчанию, выполните следующее:

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

Расширения

Поскольку Jupyter Notebook имеет открытый исходный код, для него было разработано множество расширений. Вы можете поработать с официальным списком расширений IPython или посмотреть другие популярные расширения.

Вы можете установить Nbextensions в любое время из командной строки.

Или с помощью Anaconda:

Как только они будут установлены, вы увидите вкладку Nbextensions.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

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

Для работы просто нажмите «Nbextensions» в верхней части экрана, выберите интересующее вас расширение, а затем прокрутите вниз, чтобы найти нужную информацию.

Популярные расширения

  • Scratchpad — позволяет создать временную ячейку для выполнения быстрых вычислений без создания новой ячейки в workbook.
  • Hinterland — делает доступным меню автозаполнения кода для каждого нажатия клавиши в ячейке кода, а не только для клавиши Tab.
  • Snippets — добавляет раскрывающееся меню для вставки фрагментов в текущий документ.
  • Autopep8 — автоматически форматирует код на Python в соответствии со стилевым руководством PEP 8. Убедитесь, что на локальной машине выполнена команда $ pip install autopep8 --user . Это гарантирует, что вы будете следовать правильным соглашениям о написании кода в Python.
  • Split Cells Notebook — позволяет разделять ячейки. Войдите в командный режим и используйте Shift+S , чтобы переключить текущую ячейку между разделённой и полной шириной.
  • Table of Contents — позволяет собирать все запущенные заголовки и отображать их в плавающем окне, в виде боковой панели или с помощью меню навигации.
  • A Code Prettifier — очищает, форматирует и выравнивает ваш код за вас.
  • Notify — отображает уведомление на рабочем столе, когда ядро бездействует. Это удобно, когда вы запускаете код, выполнение которого занимает больше пары секунд.
  • Code Folding — в режиме редактирования сбоку появляется треугольник, который позволяет скрывать блоки кода. Удобно, когда есть большие функции, которые вы хотите скрыть.
  • Zen mode — делает детали менее загроможденными. Убедитесь, что фоны в настройках отключены.

Магия

Магия — это удобные команды, которые облегчают жизнь, когда вы хотите выполнить определённые задачи. Они часто выглядят как команды Unix, но все они реализованы на Python.

Есть два вида магии: строчная магия (применяется к одной строке) и магия ячейки (применяется ко всей ячейке). Строчная магия начинается с символа процента ( % ), а магия ячейки — с двух таких символов ( %% ).

Чтобы увидеть доступную магию, нужно запустить следующее:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Настройка среды разработки

Можно легко управлять переменными среды вашего документа с помощью %env без перезагрузок. Выполните эту команду без каких-либо переменных, она отобразит все ваши переменные среды.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Вставка кода

С помощью %load можно вставить код из внешнего скрипта.

Данная команда возьмёт файл basic_imports.py и загрузит его в ваш документ.

Экспорт содержимого ячейки

Это очень удобная функция. Она позволяет в любое время экспортировать содержимое ячейки с помощью %%writefile .

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

Например, вы можете написать файл basic_imports.py , содержащий следующий код:

Это создаст файл .py , содержащий ваши основные импорты.

Дальше можно его загрузить в любое время, написав:

Выполнение этой команды заменяет содержимое ячейки загруженным файлом.

Теперь вы можете снова запустить ячейку, чтобы импортировать все ваши модули.

Сохранение и повторное использование кода

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

Теперь, чтобы определить макрос, нужен код для использования. Можно сохранить практически всё, от строки до функции.

Для настройки макроса используется магия %macro и %load . Обычно принято имена макросов начинать с двойного подчеркивания, чтобы отличать их от других переменных.

Магия %macro принимает имя и номер ячейки (или несколько номеров), а специальный ключ -q делает магию менее подробной. %store позволяет сохранить любую переменную для использования в других сессиях. В коде выше передаётся имя созданного макроса, чтобы можно было использовать его снова после выключения ядра или в других документах.

Чтобы загрузить макрос, достаточно выполнить следующее.

Чтобы выполнить макрос, можно просто запустить ячейку, которая содержит имя макроса.

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

При запуске макроса захватывается измененное значение.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Это работает, потому что макросы выполняют сохраненный код в пространстве имён ячейки. Если name будет не определено, вы получите ошибку.

Если вы хотите использовать один и тот же макрос во всех своих документах, в этом может помочь %store .

%store позволяет хранить макрос и использовать его во всех Jupyter Notebook.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Магия run

%run выполнит ваш код и отобразит любые выводные данные, включая графики Matplotlib. Таким образом можно выполнять даже целые документы. Также %run может выполнить код Python из файлов .py .

Магия pycat

Использование %pycat покажет содержимое скрипта, если вы не уверены, что в нём находится.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Автосохранение

%autosave определяет, как часто ваш документ будет автоматически сохранять контрольные точки в файл.

После данной команды автосохранение будет происходить каждые 60 секунд.

Отображение графиков

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

Измерение времени

Для измерения времени используются две магические команды IPython: %%time и %timeit . Они очень полезны, когда ваш код медленно выполняется и вы пытаетесь определить, в чём проблема. Они обе имеют как строковый режим, так и режим запуска из ячейки.

Основное различие между %timeit и %time состоит в том, что первая выполняет указанный код много раз и вычисляет среднее значение.

%%time даст вам информацию о единичном запуске кода в вашей ячейке.

%%timeit использует Python-модуль timeit, который выполняет выражение множество раз, а затем выдаёт среднее значение результатов. Вы можете указать количество запусков с помощью опции -n , количество повторов с помощью -r и т. д.

Запуск кода из другого ядра

Можно запустить выполнение ячейки с использованием указанного языка. Существуют расширения для нескольких языков. Есть опции вроде:

  • %%HTML ,
  • %%python ,
  • %%python2 ,
  • %%python3 ,
  • %%ruby ,
  • %%perl ,
  • %%capture ,
  • %%javascript ,
  • %%js ,
  • %%latex ,
  • %%markdown ,
  • %%pypy .

Например, для рендеринга HTML в вашем документе вы должны выполнить следующее:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Вы также можете использовать LaTeX напрямую когда угодно:

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Магия who

Команда %who без аргументов выводит список всех переменных, существующих в глобальной области видимости. При передаче параметра, например str , будут перечислены только переменные этого типа:

Если набрать данную команду, результат будет следующим.

Иллюстрациия к статье «Как оптимизировать работу в Jupyter Notebook»

Магия prun

%prun показывает, сколько времени ваша программа потратила на каждую функцию. Использование %prun statement_name даёт упорядоченную таблицу, показывающую, сколько раз каждая внутренняя функция была вызвана в блоке. А также время, которое потребовалось на каждый вызов, и суммарное время всех запусков функции.

Магия отладчика в Python

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

Графики высокого разрешения

Одна простая магическая строка IPython может предоставит вам на выводе график с двойным разрешением для экранов Retina. Стоит отметить, что на других экранах график может не отображаться.

Пропуск ячейки для выполнения

Просто добавьте %%script false в начале ячейки:

Оповещения

Оповещения могут пригодиться, когда вы запускаете код, требующий долгого выполнения. Вы можете настроить уведомление, которое будет отправлено, когда код выполнится.

На Linux и Mac

На Windows

Чтобы использовать такое оповещение, у вас должен быть установлен sox . Установить его можно с помощью следующей строки:

Но это сработает, только если вы пользуетесь Homebrew.

Выводы

Изложенного в этой статье должно быть достаточно для успешного начала работы в Jupyter Notebook. Если вы знаете какие-либо советы и рекомендации, которые могут помочь другим новичкам, напишите об этом в комментариях ниже.

Если вы хотите подняться на уровень повыше, вас может заинтересовать другая статья по оптимизации Jupyter Notebook.

У меня была такая же проблема раньше, это действительно противно. Я быстро взглянул на проблемы с Jupyter и ничего не нашел. Это также происходит, если вы запускаете через консоль IPython (не просто python)? Какой пакет / модуль вы использовали? Что это за ОС? У вас был своп? Какая версия Jupyter Lab? Если это был Linux, то какая версия ядра? В основном это Панды, но я не думаю, что это связано с посылками. Операционная система - Ubuntu 16.04.6 LTS, а версия ядра - 4.15.0-65-generic. Jupyter Lab версия 1.0.2. У меня SWAP установлен на 12 ГБ (назначено на 2 файла), что составляет 1,5 от моей оперативной памяти.

Абсолютно самым надежным решением этой проблемы было бы использование контейнеров Docker. Вы можете указать, сколько памяти выделить Jupyter, и если у контейнера заканчивается память, это не имеет большого значения (просто не забывайте часто экономить, но это само собой разумеется).

Этот блог поможет вам в этом. Здесь также есть несколько полезных инструкций по настройке Jupyter Lab из одного из свободно доступных, официально поддерживаемых изображений Jupyter:

и затем вы можете изменить docker run команду, как описано в руководстве, как (например, для 3 ГБ):

Синтаксис параметров памяти докера см. В следующем вопросе:

Если вы используете Ubuntu, проверьте OOM killers, вы можете получить информацию от здесь

Вы можете использовать earlyoom . Его можно настроить по earlyoom -s 90 -m 15 своему усмотрению, например , запускать earlyoom и когда размер подкачки меньше, чем% 90, а память меньше, чем% 15, это убьет процесс, который вызывает OOM, и предотвратит зависание всей системы. Вы также можете настроить приоритет процессов.

Я также работаю с очень большими наборами данных (3 ГБ) в Jupyter Lab и испытываю ту же проблему в лабораториях. Неясно, нужно ли вам поддерживать доступ к предварительно преобразованным данным, если нет, я начал использовать del неиспользуемые большие переменные данных, если они мне не нужны. del удаляет переменные из вашей памяти Изменить **: есть несколько возможностей для проблемы, с которой я сталкиваюсь. Я сталкиваюсь с этим чаще, когда использую удаленный экземпляр jupyter, а также в spyder, когда выполняю большие преобразования.

Джейкс, вы также можете найти эту тему о больших рабочих процессах данных полезной. Я искал в Dask, чтобы помочь с памятью.

В 10117 году они предлагают проверить выход get_ipython().history_manager.db_log_output . У меня те же проблемы, и мои настройки правильные, но это стоит проверить

Вы также можете использовать ноутбуки в облаке, например, Google Colab здесь . Они предоставили возможность для рекомендованных ОЗУ и поддерживают ноутбук Jupyter по умолчанию.

Я думаю, что вы должны использовать куски. Как это:

Я предлагаю не добавлять список снова (возможно, ОЗУ снова будет перегружено). Вы должны закончить свою работу в этом для цикла.

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

Я собираюсь обобщить ответы на следующий вопрос . Вы можете ограничить использование памяти вашей программой. В следующем это будет функция ram_intense_foo() . Перед вызовом нужно вызвать функцию limit_memory(10)

Нет причин просматривать весь вывод большого информационного кадра. Просмотр или манипулирование большими фреймами данных будет излишне использовать большие объемы ресурсов вашего компьютера.

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

Самый простой способ - просто взять первые n, число первых строк во фрейме данных, используя функцию head (). Функция head печатает только n, количество строк. Вы можете создать мини-фрейм данных, используя функцию head для большого фрейма данных. Ниже я выбрал первые 50 строк и передал их значение в small_df. Предполагается, что BigData - это файл данных, полученный из библиотеки, которую вы открыли для этого проекта.

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

В последние недели я был очень занят работой над своим проектом MRes, мало спал. Это заставило меня искать способы улучшить рабочий процесс в самом важном инструменте моей работы: Jupyter Notebook / Jupyter Lab. Я собрал все полезные советы в этой части, надеясь, что другие исследователи могут найти эти полезные:

Примечание: чтобы сделать его простым в использовании, я собрал фрагменты, представленные ниже, в пакет Python3 (jupyter-хелперы). Вы можете получить это с:

pip3 install jupyter_helpers

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

Вы можете настроить Jupyter на воспроизведение звука, если выполнение ячейки (или цепи ячеек) заняло более нескольких секунд. Я ранее описал два метода для этого,основанный на Python, а такжеJavaScript один, Код для Python один примерно выглядит так:

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

Воспроизвести звуковой сигнал при исключении

Точно так же вы можете добавить ловушку для воспроизведения другого звука при возникновении исключения. Вот очень простой механизм, предложенныйКевин в SO:

И, конечно, более продвинутый является частью jupyter_helpers пакет:

При работе из библиотеки мне понадобилась альтернатива для звуковых сигналов и гудков. Notify-send превратили нас в идеальный инструмент для меня, в первую очередь, для пользователя GNOME (прокрутите вниз для получения инструкций для других рабочих сред)
Для настройки используйте:

Это будет работать из коробки для пользователей GNOME, хотя и установит замену, которая называется notify-send.sh заставит уведомления исчезнуть, когда они больше не нужны. Это можно сделать с прикрепленным setup.sh скрипт.

Интеграция с ОС готова к подключению для любой другой среды рабочего стола, хотя для этого потребуются некоторые сценарии:

Пожалуйста, рассмотрите возможность отправки PR, если вы хотите интегрировать его с вашей ОС.

использование Alt + click чтобы перейти к определению с помощью мыши, или Ctrl + Alt + B альтернатива только с клавиатурыjupyterlab-гоу к определениюрасширение:

Перейти к определению поддерживает Python и R. PR для поддержки других языков приветствуются

Наконец, используйте Alt + o чтобы вернуться на прежнее место:

Возможность возврата назад весьма полезна для ноутбуков с более длинными выходами

Для установки расширения используйте:

Если ваша работа больше связана с публикациями, а не с интерактивными инструментальными панелями, есть большая вероятность, что вы знакомы с ggplot2. Хотя есть некоторые замечательные проекты, такие как plotnine, которые пытаются портировать его на Python, я все же нахожу работу с ggplot (особенно с расширениями) более функциональной при использовании интерфейса Rpy2 R-Python.

Однако автозаполнение не включает объекты R (и функции ggplot, если они загружены) в %%R клетки до сих пор. Я подготовил простой обходной путь:

Это может быть улучшено в будущем, как обсуждалось вэтот вопрос GitHub,

Автозаполнение теперь также включает в себя объекты R и функции ggplot

Опять же, один простой импорт из jupyter_helpers решим вопрос:

Это не новая идея, хотя я надеюсь, что разделение моего более или менее продвинутого класса может помочь другим. Это основано на Python3 SimpleNamespace , но расширяет его представлением HTML для Jupyter с поддержкой панд и numpy:

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


Пространства имен с HTML: когда нужно просматривать вложенные данные перед преобразованием в DataFrame

Некоторое время я пытался следовать разделению данных / методов / результатов, имея три блокнота Jupyter для каждого более крупного анализа: data.ipynb , methods.ipynb а также results.ipynb Чтобы сэкономить время на бесполезном пересчете некоторых вещей, я хотел иметь выборочный импорт изданныеа такжеметодыноутбуки для использования вполученные результатыблокнот.

Теперь это возможно (опираясь наnbimporter) используя один импорт и магию:


Это было описанов этой темеи я все еще надеюсь увидеть некоторые предложения.

Возможно, вы заметили, что ранее показано Notifications класс заставил блокнот прокрутить вниз исключительную ячейку (рисунок 1). Это можно отключить, передав scroll_to_exceptions=False ,

Если, наоборот, вам нужна дополнительная автопрокрутка, вы можете использовать базовую вспомогательную функцию, чтобы пометить ячейку, с которой вы закончили работать ночью, чтобы быстро открыть записную книжку утром:

Наконец, при запуске сторонних приложений (но не в момент создания полноценного конвейера) может возникнуть необходимость увидеть только хвост текущего запущенного процесса. В Bash это легко достигается с помощью tail -f ,

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

Примените эквивалент tail -f, чтобы сохранить выходные данные на разумной длине!

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

Как только еще будет готов я буду делиться новостями в твиттере (@krassowski_m).

Спасибо за чтение - надеюсь, это стоило написать хотя бы одному исследователю.

Читайте также: