如何在polar Rust中对日期列的年份或工作日进行分组



我正在尝试按日期列的年份分组数据框架。首先,让我们创建一个数据框架:

let s0 = Series::new("date", &["2021-01-14","2022-04-09","2021-06-24","2022-12-04","2022-11-25"]);
let s1 = Series::new("values", &[1, 2, 3, 4, 5]);
let mut df = DataFrame::new(vec![s0, s1])?;
df.try_apply("date", |col_series| {Ok(col_series.utf8().unwrap().as_date(Some("%Y-%m-%d")).unwrap().into_series())});
let lf = df.lazy();

然后这里是我想要实现的(不工作的)代码。

lf.groupby([col("date").year()]).agg([col("values").sum()]).collect()

我们可以通过调用col("date").dt()来进入"date"列的日期名称空间。

使year()功能可用。在你的例子中,正确的代码应该是

lf.groupby([col("date").dt().year()])
.agg([col("values").sum()])
.collect();

这是从python文档

中的过滤部分获取的。

https://pola-rs.github.io/polars-book/user-guide/dsl/groupby.html过滤

最新更新