Есть ли у Polars идиоматический способ извлечь информацию из середины ленивой цепочки выражений?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли у Polars идиоматический способ извлечь информацию из середины ленивой цепочки выражений?

Сообщение Anonymous »

Я только начал использовать Polars, и мне нравятся его функции ленивого связывания! Но я застрял на том, что, как мне казалось, было бы простым шаблоном - я хочу объединить несколько операций последовательно, получая некоторую сводную статистику после каждой операции. Вот тривиальный пример использования Pandas:

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

df = pd.read_csv("my.csv")
l1 = len(df)
df = df[df.A != 0]
l2 = len(df)
print(f"{l1}, {l2}")
Однако набор данных может оказаться слишком большим для размещения в оперативной памяти, поэтому я хочу использовать потоковый LazyFrame вместо DataFrame. Я хочу выразить своего рода «разветвленный» LazyFrame с несколькими вызовами «.collect()», которые все будут оцениваться одновременно.
Я вижу два способа, которые помогут это сделать. не совсем не работает. Вы могли бы выразить это с помощью двух разных операций сбора, но для этого решения потребуется дважды прочитать CSV:

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

df = pl.scan_csv("my.csv")
l1 = df.select(pl.len()).collect().item()
l2 = df.filter(pl.col("A") != 0).select(pl.len()).collect().item() # 

Подробнее здесь: [url]https://stackoverflow.com/questions/78679189/does-polars-have-an-idiomatic-way-to-extract-information-from-the-middle-of-a-la[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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