polars.read_csv 与 Polars.read_csv_batched 与 Polars.scan_csv?

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

polars.read_csv
vs
polars.read_csv_batched
vs
polars.scan_csv
之间有什么区别?

polars.read_csv
看起来等同于
pandas.read_csv
,因为它们具有相同的名称。

在哪种场景下使用哪一种以及它们与

pandas.read_csv
有何相似/不同?

python python-polars
2个回答
3
投票

polars.scan_csv
生成查询计划(称为
LazyFrame
)。然后,您可以构建查询并在最后调用
collect
以实现
DataFrame

所有

scan_
方法都是如此。这样做的好处是,Polars 优化器可以将优化下推给读者。它可以在阅读器中应用过滤器并仅选择它需要的列。这可以节省很多工作。

polars.read_csv
可以被视为
polars.scan_csv().collect()
。例如。您只需读取所有数据并立即产生一个
DataFrame
。这意味着您可能会做不需要的工作。如果您想要立即得到结果,Polars 优化器无法执行任何操作。

我不同意另一个答案,即仅当数据很大时才应使用

polars.read_csv
。它同样适合较小的数据。


1
投票

场景:

  • 当我的数据比较杂乱或结构复杂且数据又不太大时,我使用

    pandas.read_csv

  • 当我的数据文件非常大(> 10GB)时,我使用

    polars.read_csv

这只是基于我(卑微)意见的答案。

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