Apesar de:
leitura do polar_lazy 0.44.2
instalação bem-sucedida de
cargo add polars-lazy
o código a seguir resulta em erros:
erro[E0433]: falha na resolução: não foi possível encontrar
legacy
emarrow
erro[E0433]: falha na resolução: uso de caixa ou módulo não declarado
polars_core
erro[E0412]: não é possível encontrar o tipo
PolarsResult
neste escopoerro[E0412]: não é possível encontrar o tipo
DataFrame
neste escopouse polars_core::prelude::*; use polars_core::df; use polars_lazy::prelude::*; use arrow::legacy::prelude::QuantileMethod; fn main() { let test = example() println!("show dataframe: {:?}", test); } fn example() -> PolarsResult<DataFrame> { let df = df!( "date" => ["2020-08-21", "2020-08-21", "2020-08-22", "2020-08-23", "2020-08-22"], "temp" => [20, 10, 7, 9, 1], "rain" => [0.2, 0.1, 0.3, 0.1, 0.01] )?; df.lazy() .group_by([col("date")]) .agg([ col("rain").min().alias("min_rain"), col("rain").sum().alias("sum_rain"), col("rain").quantile(lit(0.5), QuantileMethod::Nearest).alias("median_rain"), ]) .sort(["date"], Default::default()) .collect() }
Nota:Cargo.toml
[dependencies]
arrow = "53.2.0"
polars-lazy = "0.44.2"
É um pouco difícil dizer, mas a
arrow
caixa " " usada no exemplo é uma importação renomeada depolars-arrow
, não aarrow
caixa (veja as dependências emCargo.toml
):E parece um pouco como afirmar o óbvio, mas para usar
polars_core
você terá que adicionarpolars-core
dependências.Então você deve remover
arrow = "53.2.0"
de suas dependências e adicionar:Todas as coisas sendo iguais, minha solução consistiu em:
além de uma alteração de
Cargo.toml
: