python - 将熊猫数据框从一个jupyter笔记本复制到另一个的最佳方法是什么
问题描述
假设我在一个 jupyter notebook 中创建了一个数据框:
在 notebook_1 中:
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
现在,移动df
到另一个笔记本的最佳(最简单、最快、最可靠……)方法是什么,以便我可以在那里使用它?
在 notebook_2 中:
df = ... #do something here to load the data from the df in notebook_1
#and now use the df further on
我想出了以下所有方法(可能是最后一种方法除外):
- 导出到文件,然后使用其中一个pandas IO 工具导入-对于非常大的数据帧来说可能是一个很好的解决方案,但在其他方面似乎不必要地复杂
- 使用 pd.DataFrame.to_clipboard 和 pd.DataFrame.read_clipboard -对于小型数据帧看起来不错,但根据这个答案,它不是 100% 可靠的,而且它可能不适用于较大的数据帧(?),加上如果我重新运行notebook_2将剪贴板内容替换为其他内容后,它不再起作用
- 将 pd.DataFrame.to_json 和 pd.DataFrame.read_json 与
orient = 'table'
and一起使用path_or_buf=None
并复制粘贴输出 -适用于我的情况(相对较小的数据框) - 好处是我可以直接在notebook_2中以纯文本和这样一旦我第一次复制数据,笔记本就会变得独立 - 复制粘贴包含
df
???输出的整个单元格 -我无法测试它是复制数据还是只复制代码 - 复制粘贴对我根本不起作用。但我对此表示怀疑。
编辑 - 评论或答案中提到的选项:
但我想知道是否还有其他可能的方法以及优点、缺点、警告、...
我对洞察力、比较等更感兴趣,而不仅仅是一种方法(除非有一种,显然是最好的,在所有情况下都能完美运行并且没有缺点的方法)。
谢谢。
解决方案
使用将数据框导出到磁盘
df.to_csv('your_name.csv')
现在转到另一个笔记本并使用
pd.read_csv('your_name.csv')
推荐阅读
- python - 每当我运行我的代码时,输入语句下的行永远不会运行:
- hyperledger-fabric - Hyperledger Fabric:我们在哪里可以找到发现 CLI 所需的 conf.yaml?
- ios - 如何在 swift 5 alamofire 5.0.3 中使用 Alamofires ServerTrustPolicy.disableEvaluation
- php - 如何使用 PHP 从 Oracle 中选择数据
- java - 如何从可移动/辅助 SD 卡中删除文件
- python - str(list[index]): IndexError: 列表索引超出范围
- c# - 如何获取浏览器在登录控件中的文本框中推送的用户名文本(c#)
- scikit-learn - sklearn 使用 f_classif 并选择分数高于阈值的特征
- r - r shiny - 上传后显示数据框
- react-native - 如何始终在本机反应中显示键盘?