【发布时间】:2019-11-12 23:58:57
【问题描述】:
我有一个 csv,我正在将它读入 Pandas DataFrame,但它需要大约 35 分钟才能读完。 csv 大约为 120 GB。我发现了一个名为 cudf 的模块,它允许 GPU 数据帧,但它仅适用于 Linux。 Windows 有类似的吗?
chunk_list = []
combined_array = pd.DataFrame()
for chunk in tqdm(pd.read_csv('\\large_array.csv', header = None,
low_memory = False, error_bad_lines = False, chunksize = 10000)):
print(' --- Complete')
chunk_list.append(chunk)
array = pd.concat(chunk_list)
print(array)
【问题讨论】:
-
您应该考虑另一种序列化格式,csv 并不是真正为性能而设计的。您的数据的性质是什么?
-
正如@juanpa.arrivillaga 提到的,您应该将日期保存在
.hd5文件中。然后将其加载到数据框中会更快。 -
我的数据由 10 的数千个 1 线阵列组成。
-
我一直在尝试另存为
.h5,但代码一直告诉我没有名为tables的模块,即使我 pip 安装了它。 -
@RicardoZaragoza 这是什么意思? 1 线阵列? CSV 是 text,数组到底是什么意思?此外,如果您尝试使用 hd5,请显示失败的代码。您是否尝试过使用
pandas.DataFrame.to_hdf?
标签: python windows pandas dataframe cudf