如何将指定Pandas数据处理代码转换为Polars实现?
Pandas 转 Polars 代码实现
以下是你提供的三段Pandas数据处理代码对应的Polars实现,结合Polars的向量化特性做了优化:
1. 对所有字符串类型列执行去首尾空白操作
Pandas 原代码:
df.loc[:, df.dtypes == object] = df.loc[:, df.dtypes == object].applymap(lambda x: str(x).strip())
Polars 实现:
import polars as pl # 筛选所有Utf8(字符串)类型的列,批量应用strip df = df.with_columns( pl.col(pl.Utf8).str.strip() )
说明:Polars 支持直接对列批量调用字符串方法,无需逐元素的applymap,性能更优。
2. 将字符串列中的'nan'替换为缺失值
Pandas 原代码:
df.loc[:, df.dtypes == object] = df.loc[:, df.dtypes == object].replace('nan', np.NaN)
Polars 实现:
# 对所有Utf8列,将字符串'nan'替换为Polars的缺失值(None) df = df.with_columns( pl.col(pl.Utf8).replace('nan', None) )
说明:Polars 中用None表示缺失值,会自动适配对应列的数据类型,无需依赖np.NaN。
3. 将指定列转换为日期类型(严格模式)
Pandas 原代码:
df[dateCols['fileColumn']] = pd.to_datetime(df[dateCols['fileColumn']], format=dtpattern, errors='raise')
Polars 实现:
# 指定列按格式转换为日期,strict=True对应原代码的errors='raise',格式不匹配会抛出异常 df = df.with_columns( pl.col(dateCols['fileColumn']).str.to_datetime(format=dtpattern, strict=True) )
说明:Polars 的str.to_datetime直接支持格式指定和严格校验,无需额外处理。
内容的提问来源于stack exchange,提问作者user22286335
相关产品推荐
相关产品推荐

