Фильтровать пустую строку в ленивом кадре PolarsPython

Программы на Python
Ответить
Anonymous
 Фильтровать пустую строку в ленивом кадре Polars

Сообщение Anonymous »

Я пытаюсь отфильтровать столбец URI из файла паркета, содержащего более 50 миллионов строк, содержащих пустую строку, используя

Код: Выделить всё

import polars as pl

lf = pl.scan_parquet("data.parquet")
lf.filter(pl.col("URI") == "").collect()
Выход:

Код: Выделить всё

shape: (0, 3)
┌─────┬────────┬───────────┐
│ URI ┆ REMARK ┆ TIMESTAMP │
│ --- ┆ ---    ┆ ---       │
│ str ┆ str    ┆ i64       │
╞═════╪════════╪═══════════╡
└─────┴────────┴───────────┘
К счастью, я пометил строки с пустым строковым URI в столбце REMARK с NO URI, поэтому

Код: Выделить всё

lf.filter(pl.col("REMARK") == "NO URI").collect()
доходность:

Код: Выделить всё

shape: (7_767, 3)
┌─────┬────────┬────────────┐
│ URI ┆ REMARK ┆ TIMESTAMP  │
│ --- ┆ ---    ┆ ---        │
│ str ┆ str    ┆ i64        │
╞═════╪════════╪════════════╡
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│ …   ┆ …      ┆ …          │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
│     ┆ NO URI ┆ 1759257000 │
└─────┴────────┴────────────┘
Также для подтверждения того, что строка столбца URI представляет собой просто пустую строку

Код: Выделить всё

len(lf.filter(pl.col("REMARK") == "NO URI").collect()["URI"][0]) # Outputs 0
Это ошибка в Polars или я пропустил какую-то важную информацию и как мне получить строки с пустой строкой?
Версия Python: 3.14.2

Версия Polars: 1.35.2

Подробнее здесь: https://stackoverflow.com/questions/798 ... -lazyframe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»