每次要使用Python处理数据时都避免重新加载数据

时间:2017-08-22 00:39:22

标签: python pandas

我有一个永远不会改变的大型数据集(我从不直接修改它)。我首先阅读pandas

dataset = pandas.read_csv(filepath)

然后我做了一些数据分析。初始文件加载大约需要10秒钟,我每次在数据分析部分更改内容时都会重新运行它。如何一劳永逸地加载数据并仅运行分析部分?

2 个答案:

答案 0 :(得分:1)

这个问题的答案取决于您尚未分享的细节。可能最好的方法是将您正在构建的最终数据结构序列化。

创建一个方法,该方法读入csv并构建您感兴趣的任何数据结构。构建后,使用pickle输出结构。然后,在程序加载时从pickle中解压缩数据结构。

我假设这里耗时的部分是你一遍又一遍地启动程序。如果程序熬夜,那么您应该将数据结构保存在活动内存中的集中位置。这里的天真方法是全球性的,你不应该这样做,我只是出于概念目的而提到。

答案 1 :(得分:0)

在交互式Python会话中,阅读数据集:

>>> dataset = pandas.read_csv(filepath)

然后,无论您在何处编写Python代码(在单独的窗口中,或在IDE中,或在任何地方),都要创建数据分析函数并将其保存在自己的python模块中。

在交互式会话中导入并运行它:

>>> from module1 import analysis1
>>> results = analysis1(dataset)

检查结果,确定需要进行哪些更改,创建一个新的单独python模块,然后运行:

>>> from module2 import analysis2
>>> results = analysis2(dataset)

继续这样做,直到你完成。