如何将 Pandas 过滤器转换为 Polars 过滤器?

How to Convert Pandas filters to Polars Filter?

提问人:user22286335 提问时间:11/14/2023 最后编辑:Dean MacGregoruser22286335 更新时间:11/16/2023 访问量:77

问:

我想将 python pandas 过滤器转换为 python polars 过滤器。

  1. df.loc[:, df.dtypes == object] = df.loc[:, df.dtypes == object].applymap(lambda x: str(x).strip())

  2. df.loc[:, df.dtypes == object] = df.loc[:, df.dtypes == object].replace('nan', np.NaN)

  3. df[dateCols['fileColumn']] = pd.to_datetime(df[dateCols['fileColumn']], format=dtpattern, errors='raise')

有人可以将这三个熊猫过滤器转换为极性吗?将熊猫滤镜转换为极性滤镜有点棘手。

python-极地

评论

0赞 jqurious 11/14/2023
最好从示例 Polars 数据帧的代码开始,例如 并向我们展示您想要的确切最终输出。df = pl.DataFrame({...})
0赞 user22286335 11/14/2023
我们如何将其转换为极坐标,我也没有确切的最终输出。
0赞 Paul H 11/14/2023
您是否阅读了有关滤波的极性文档?您尝试了哪些部分,但最终理解得不够好,无法使用?
0赞 jqurious 11/14/2023
1. 看起来像:“剥离所有字符串列。 2. 看起来像:“将'nan'替换为 np。所有字符串列中的 NaN。- 但这在 Polars 中没有意义,因为列是严格类型的,只有列可以容纳 - 所以在没有看到实际示例的情况下,您不清楚您想做什么。.with_columns(pl.col(pl.Utf8).str.strip_chars())floatnp.NaN
2赞 Hericks 11/14/2023
根据@jqurious的要求,请发布MRE。如果没有示例,请求的过滤器在极坐标中甚至没有意义。

答:

0赞 ignoring_gravity 11/14/2023 #1

我会做我认为你想做的事情(但我同意你应该发布一个可重复的例子的评论)

1.

import polars.selectors as cs
df = df.with_columns(cs.string().str.strip_chars())
import polars.selectors as cs
df.with_columns(pl.when(cs.string() != 'nan').then(cs.string()).otherwise(pl.lit(None)))
df = df.with_columns(pl.col('fileColumn').str.to_datetime(format=dtpattern))