对列进行字符串操作是否先将Categorical
整个列转换为字符集String
,然后执行操作,或者在可能的情况下是否直接对(可能小得多的)分类词典进行操作?
例如df.filter(pl.col('my_category').cast(pl.String).str.contains(...))
(还有str.starts_with(...)
朋友等)或df.with_columns(pl.col('my_category').cast(pl.String).str.replace(...).cast(pl.Categorical))
它投射一切。
这是一个小实验
如果我降低
n
到 100k,那么简单方法会更快,它需要 5.27ms,而另一种方法需要 6.18ms。琴弦的长度也会影响节奏。