【问题标题】:Save/load data and work保存/加载数据和工作
【发布时间】:2017-10-26 15:38:32
【问题描述】:

我正在使用 jupyter 笔记本。我有大量数据,我必须首先加载然后使用。我不想每次关闭并启动笔记本电脑或笔记本电脑时都必须重新加载它。我想知道当我每次保存并检查笔记本时,它会保存已加载的数据和我所做的所有工作吗?因此,如果我关闭笔记本并稍后重新打开它,我可以从我离开的地方开始工作吗?还是我需要用泡菜之类的东西?如果可以,请提供一个示例,说明我如何使用 pickle 或类似的东西来保存我的数据并工作并重新加载它?

在 r 中,我将只保存一个 rdata 文件并稍后加载该文件。我对python有点陌生。

更新:

code:

print(df_business[1:3])

Sample Data:

               address                                         attributes  \
1       2824 Milton Rd  {u'GoodForMeal': {u'dessert': False, u'latenig...   
2  337 Danforth Avenue  {u'BusinessParking': {u'garage': False, u'stre...   

              business_id                                         categories  \
1  mLwM-h2YhXl2NCgdS84_Bw  [Food, Soul Food, Convenience Stores, Restaura...   
2  v2WhjAB3PIBA8J8VxG3wEg                               [Food, Coffee & Tea]   

        city                                              hours  is_open  \
1  Charlotte  {u'Monday': u'10:00-22:00', u'Tuesday': u'10:0...        0   
2    Toronto  {u'Monday': u'10:00-19:00', u'Tuesday': u'10:0...        0   

    latitude  longitude                                name neighborhood  \
1  35.236870 -80.741976  South Florida Style Chicken & Ribs     Eastland   
2  43.677126 -79.353285                    The Tea Emporium    Riverdale   

  postal_code  review_count  stars state  
1       28215             4    4.5    NC  
2     M4K 1N7             7    4.5    ON  

更新2:

代码:

import pickle

your_data = df_business

# Store data (serialize)
with open('filename.pickle', 'wb') as handle:
    pickle.dump(your_data, handle, protocol=pickle.HIGHEST_PROTOCOL)

# Load data (deserialize)
with open('filename.pickle', 'rb') as handle:
    unserialized_data = pickle.load(handle)

【问题讨论】:

    标签: python jupyter-notebook pickle


    【解决方案1】:

    对我来说,只要我不结束我正在为该笔记本运行的内核,我可以在以后的任何时候恢复它。如果您需要重新启动计算机(并因此终止您正在使用的内核),那么您将需要重新运行您的笔记本单元或使用pickle 加载预先计算的数据。

    有关使用pickle 的信息可以在this answer 中找到。

    【讨论】:

    • 感谢您回复我和链接。那么我必须使用pickle保存每个对象然后重新加载它们的想法吗?例如,我使用从 json 数据中读取的大型数据框示例更新了原始帖子。如果我不想每次重新启动笔记本电脑时都等待重新加载和解析 json 数据,我是否只需将数据框保存为 pickle 对象然后重新加载它?能否提供代码示例?
    • 你是对的。一个示例看起来与我链接到的答案几乎相同。您需要的功能是 pickle 的最简单用例,我相信已经存在许多完整的示例。 Pickle.dump() 你的对象到一个pickle文件中,然后pickle.load() 你的文件到一个对象中。
    • 再次感谢您的提示。我在原始帖子中添加了另一个更新,我认为保存和加载 pickle 文件的代码应该是这样的。这是正确的想法吗?
    • 看起来很棒!如果您希望关闭计算机,那么在完成修改对象后腌制对象可能会很方便。重新启动计算机后,在 jupyter notebook 中跳转到加载它们的位置。
    • 如果我从上面的代码重新运行存储步骤,它会保存之前版本的保存的泡菜文件吗?
    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2021-10-19
    • 2020-01-22
    • 1970-01-01
    相关资源
    最近更新 更多