如何在Polars嵌套列中移除列表元素且不使用map_elements?
解决方案
可以用Polars原生的list.filter方法替代map_elements,这是向量化操作,性能远优于Python层面的lambda遍历:
(pl.Series(['abc_remove_def', 'remove_abc_def', 'abc_def_remove']) .str.split('_') .list.filter(pl.element() != 'remove') .list.join('_') )
说明
list.filter(pl.element() != 'remove'):通过pl.element()指代列表中的每个元素,筛选出不等于'remove'的元素,这是Polars内置的向量化列表操作,避免了Python循环的开销。- 后续的
list.join('_')和原代码逻辑一致,将过滤后的列表元素用下划线连接成字符串。
内容的提问来源于stack exchange,提问作者Elis Evans
相关产品推荐
相关产品推荐

