如何在更短的时间内将大型 csv 文件(~1TB)转换为极坐标数据帧?

问题描述 投票:0回答:2

我有一个非常大的 CSV 文件,大小为 1TB。我想转换为极坐标数据帧,但生成数据帧需要 > ~15 分钟。

我怎样才能更有效地做到这一点?文件的大小很可能会更大,因此可能需要更长的时间。有什么有效的方法可以减少或缩短计算时间吗?

我尝试过在 Polars 读取 csv 功能期间使用

n_threads
,但仍然没有多大帮助,只减少了 1 分钟。

import polars as pl
csv = pl.read_csv("path to csv file", n_threads=4, ignore_errors = True)
performance large-files python-polars
2个回答
4
投票

Polars 已经尽可能快地解析 csv 文件。它已经使用了所有线程,因此尝试旋转单独的进程只会损害性能。

您可以设置

rechunk=False
。这将节省阅读后昂贵的重新分配。

您可以尝试的其他方法是将架构设置为较小的数据类型,这样您将拥有更少的内存和缓存压力。


0
投票

如果您对如何编写此文件有发言权,您应该去/索要 parquet 文件。这将减少文件大小并加快读取速度,特别是当您不需要数据集的所有列时。

© www.soinside.com 2019 - 2024. All rights reserved.