python - 如何可逆地将 Pandas 数据帧存储到磁盘或从磁盘加载

标签 python pandas dataframe

现在我每次运行脚本时都会导入一个相当大的 CSV 作为数据框。是否有一个好的解决方案可以在两次运行之间保持该数据帧始终可用,这样我就不必花费所有时间等待脚本运行?

最佳答案

最简单的方法是pickle它使用 to_pickle :

df.to_pickle(file_name)  # where to save it, usually as a .pkl

然后您可以使用以下方法将其加载回来:

df = pd.read_pickle(file_name)

注意:在 0.11.1 之前,saveload 是执行此操作的唯一方法(现在已弃用它们以支持 to_pickleread_pickle)。


另一个流行的选择是使用 HDF5 ( pytables ) 提供 very fast大型数据集的访问时间:

import pandas as pd
store = pd.HDFStore('store.h5')

store['df'] = df  # save it
store['df']  # load it

更多高级策略在 cookbook 中讨论。 .


从 0.13 开始还有 msgpack这对于互操作性可能更好,作为 JSON 的更快替代方案,或者如果您有 python 对象/文本大量数据(请参阅 this question)。

关于python - 如何可逆地将 Pandas 数据帧存储到磁盘或从磁盘加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098654/

相关文章:

python - Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

python - python中的多项式回归模型

python - pandas (sub)Dataframe 中的最大值和最小值

python - 如何根据某些列从 pandas 数据框中选择相同的行

r - 如何按行拆分数据框,然后处理 block ?

python - 无法从获得的输出创建数据框

python - 使用 WebDriver 和 Selenium 在类中获取跨度

python - 你如何在 python 中将随机值排序为数字顺序?

Python Pandas - 年度数据的每周折线图

python - 按日期字符串选择 DataFrame 切片