按年份分组取出某一行指定列的值,是数据清洗里很常见的需求。在 Polars 里用窗口表达式 over 可以一行写完,但表达式一旦嵌套,窗口作用域的边界就容易搞错。
问题现象
原始数据如下,year 是分组键,usage 用来筛选行,目标是把每个 year 分组内 usage 为 best 那一行的 source 值,广播成新列 best。
import polars as pl
df = pl.DataFrame({
\”year\”: [5
按年份分组取出某一行指定列的值,是数据清洗里很常见的需求。在 Polars 里用窗口表达式 over 可以一行写完,但表达式一旦嵌套,窗口作用域的边界就容易搞错。
原始数据如下,year 是分组键,usage 用来筛选行,目标是把每个 year 分组内 usage 为 best 那一行的 source 值,广播成新列 best。
import polars as pl
df = pl.DataFrame({
\”year\”: [5
评论前必须登录!
注册