Каков наилучший способ скопировать pandas фрейм данных из одного ноутбука Jupyter в другой - PullRequest
1 голос
/ 15 января 2020

Допустим, я создал блок данных в одной записной книжке 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 и не имеет недостатков).

Спасибо.

1 Ответ

0 голосов
/ 15 января 2020

экспортируйте ваш фрейм данных на диск с помощью

df.to_csv('your_name.csv')

сейчас go в другой блокнот и прочитайте его, используя

pd.read_csv('your_name.csv')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...