我试图按日期列的年份对数据进行分组。首先,让我们创建一个dataframe:
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()发布于 2022-07-17 15:56:21
通过调用"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#filtering
https://stackoverflow.com/questions/73013131
复制相似问题