我有 3 个单独的 jupyter notebook 文件来处理单独的数据帧。我为每个 df 清理和操作这些笔记本中的数据。有没有办法在单独的笔记本中引用清理/最终数据?
我担心的是,如果我在一个笔记本上处理所有 3 个 df,然后在(合并/加入)之后用它做更多的事情,那将是一英里长。我也不想为了让数据准备好在我的新笔记本中使用而重新编写一堆代码。
最佳答案
如果您使用的是 pandas 数据帧,那么一种方法是使用 pandas.DataFrame.to_csv()
和 pandas.read_csv()
来保存和加载清理后的数据每一步之间。
- Notebook1 加载 input1 并保存 result1。
- Notebook2 加载 result1 并保存 result2。
- Notebook3 加载 result2 并保存 result3。
如果这是您的数据:
import pandas as pd
raw_data = {'id': [10, 20, 30],
'name': ['foo', 'bar', 'baz']
}
input = pd.DataFrame(raw_data, columns = ['id', 'name'])
然后在notebook1.ipynb中,这样处理:
# load
df = pd.read_csv('input.csv', index_col=0)
# manipulate frame here
# ...
# save
df.to_csv('result1.csv')
...并为链中的每个阶段重复该过程。
# load
df = pd.read_csv('result1.csv', index_col=0)
# manipulate frame here
# ...
# save
df.to_csv('result2.csv')
最后,您的笔记本集合将如下所示:
- 输入.csv
- 笔记本1.ipynb
- notebook2.ipynb
- notebook3.ipynb
- result1.csv
- result2.csv
- result3.csv
文档:
关于python - 将数据框从一个 Jupyter Notebook 文件导入到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46674086/