如何在Python中加载大型时间序列文件进行分析?
我有一些.gz格式的文件,这些文件里包含了一些时间序列的数据。自然,我想对这些数据进行一些时间序列分析。
我试过这样做:
import gzip
f=gzip.open('data.csv.gz','r')
file_content=f.read()
print(file_content)
但是它加载了20分钟,我最后手动停止了。
我的问题是,我应该怎么读取这些数据呢?我有一些想法,比如使用Dask、Spark,或者我应该直接逐行读取数据呢?
我尝试在网上查找行业标准。
1 个回答
0
你可以这样使用 Dask:
import dask.dataframe as dd df = dd.read_csv('data.csv.gz', compression='gzip')
Apache Spark 也支持读取 .gz 文件。(不过对于小数据集来说,这可能有点过于复杂了。)
逐行输出:如果你在写一个处理文件的函数,可以使用生成器来逐行输出。这种方法很节省内存,因为每次只会把一行加载到内存中。