如何在Polars中筛选列表型datetime列含多个值的行?
解决Polars筛选列表列长度≥2的行
在Polars中,针对列表类型的列,你可以直接使用list.len()表达式来获取每行列表的长度,进而筛选符合条件的行。
具体实现代码
如果知道目标列的名称(比如列名为datetime_col):
filtered_df = df_order_dataset.filter(pl.col("datetime_col").list.len() >= 2)
如果不确定列名,可通过列的位置索引(第二列的索引为1,Polars列索引从0开始)来定位:
filtered_df = df_order_dataset.filter(pl.col(1).list.len() >= 2)
说明
Polars的列表类型列有专属的list命名空间方法,list.len()会逐行计算对应列表的元素数量,之后通过>=2的条件过滤,就能得到该列包含两个及以上datetime值的行。
内容的提问来源于stack exchange,提问作者Andre Luiz Moura
相关产品推荐
相关产品推荐

