August 23, 2022

Как сохранять вывод ячеек в среде Jupyter

Магические команды Ipython и операции вывода результатов придают красоту ноутбуку и являются его визитной карточкой как основного исследовательского инструмента. Вместе с тем иногда возникает необходимость сохранения вывода для последующего использования. Например, когда вы запустили длительные вычисления с отображением результатов, однако забыли перед этим сохранить их в отдельную переменную, не хочется запускать процесс повторно.

Для этих случаев существует способ доступа к выводу через одно нижнее подчеркивание, за которым следует номер исполненной ячейки - "_НомерЯчейки". Рассмотрим, простенький датафрейм:

import pandas as pd

df = pd.DataFrame([[1,2,3], [4,5,6]]) 
df.replace({1:3})

Результат можно извлечь так:

_1

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

%%capture time_took
%%time
a = 2
str(time_took)