Python Polars:如何获取 DataFrame 的行数?

roe*_*ger 6 python dataframe python-polars

我的 CSV 文件大小为 70 GB。我想在惰性模式下加载 DF 并计算行数。最好的方法是什么?

据我所知,根据文档,在惰性模式下没有像 shape 这样的函数。我发现这个答案提供了一个不基于 Polars 的解决方案,但我想知道是否也可以在 Polars 中做到这一点。

Dea*_*gor 11

对于极地 0.20.5+

使用极坐标获取行数。

首先将其加载到惰性框架中......

lzdf=pl.scan_csv("mybigfile.csv")
Run Code Online (Sandbox Code Playgroud)

然后统计行数并返回结果

lzdf.select(pl.len()).collect()
Run Code Online (Sandbox Code Playgroud)

如果你只想要一个 python 标量而不是一个表作为结果,那么只需将其子集化即可

lzdf.select(pl.len()).collect().item()
Run Code Online (Sandbox Code Playgroud)

对于旧版本

使用极坐标获取行数。

首先将其加载到惰性框架中......

lzdf=pl.scan_csv("mybigfile.csv")
Run Code Online (Sandbox Code Playgroud)

然后统计行数并返回结果

lzdf.select(pl.count()).collect()
Run Code Online (Sandbox Code Playgroud)

如果你只想要一个 python 标量而不是一个表作为结果,那么只需将其子集化即可

lzdf.select(pl.count()).collect().item()
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用 [`.item()`](https://pola-rs.github.io/polars/py-polars/html/reference/dataframe/api/polars.DataFrame.item.html) 而不是 `[ 0, 0]`(如果您还不知道) (7认同)