Допустим, я создал блок данных в одной записной книжке Jupyter:
В записной книжке_1:
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
Теперь, что является лучшим (самый простой, самый быстрый, самый надежный, ...) способ переноса df
в другой блокнот, чтобы я мог с ним там работать?
В блокноте_2:
df = ... #do something here to load the data from the df in notebook_1
#and now use the df further on
I Придумали следующие способы (кроме, возможно, последнего) работы:
- экспорт в файл и затем импорт с использованием одного из pandas инструментов ввода-вывода - вероятно, хорошее решение для очень больших фреймов данных, но в остальном кажется излишне сложным
- использовать pd.DataFrame.to_clipboard и pd.DataFrame.read_clipboard - выглядит хорошо для небольших фреймов данных, но в соответствии с этот ответ он не на 100% надежен, плюс он, вероятно, не будет работать для больших фреймов данных (?), Плюс, если я перезапущу notebook_2 после замены содержимого буфера обмена на что-то другое больше не будет работать
- использовать pd.Da taFrame.to_ json и pd.DataFrame.read_ json с
orient = 'table'
и path_or_buf=None
и копирование и вставка вывода - хорошо работает для моего случая (относительно небольшой фрейм данных) - плюс в том, что я могу просматривать импортированные данные непосредственно в notebook_2 в виде простого текста, чтобы блокнот становился автономным после первого копирования данных - копирование и вставка всей ячейки содержащий вывод
df
??? - Я не мог проверить, копирует ли он также данные или только код - копирование-вставка не работает для меня вообще. Но я сомневаюсь, что.
Редактировать - параметры, указанные в комментариях или ответах:
- I Python % store magi c как упомянуто Chris - действительно просто и красиво, только недостаток в том, что notebook_2 не будет автономным
Но я хотел бы знать, есть ли другие возможные методы и каковы преимущества, недостатки, предостережения, ...
Меня интересует больше идей, сравнений и т. Д. c. чем только один способ, как это сделать (если не существует одного, явно лучшего, способа, который отлично работает во всех сценариях ios и не имеет недостатков).
Спасибо.