Resumindo um problema maior ao essencial, eu gostaria de fazer o seguinte:
import numpy as np
import pandas as pd
df = pd.DataFrame({'a': np.random.randint(0, 5, 1000), 'b': np.random.random(1000)})
for aval, subdf in df.groupby('a'):
subdf.to_parquet(f'/tmp/{aval}.parquet')
em Polares usando LazyFrame:
import numpy as np
import pandas as pd
import polars as pl
df = pd.DataFrame({'a': np.random.randint(0, 5, 1000), 'b': np.random.random(1000)})
lf = pl.LazyFrame(df)
# ???
Gostaria de poder controlar o nome dos arquivos de saída de maneira semelhante.
Obrigado!
Você pode usar um esquema de particionamento, por exemplo
PartitionByKey()
No seu exemplo, isso cria:
Os documentos mostram um exemplo de
file_path=
uso com um retorno de chamada para personalizar ainda mais o nome do arquivo, se necessário.Tente fazer isso com
LazyFrame
ewrite_parquet()
Parece que você provavelmente precisa fazer algo assim: