You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polars是否存在自动将inf转换为nan的配置选项?

Polars 中类似 pandas use_inf_as_na 的配置方案

Polars 没有和 pandas 完全一致的 use_inf_as_na 全局配置项,但可以通过以下两种方式实现类似效果:

1. 全局配置(推荐)

使用 pl.Config.set_fold_inf_to_null(True) 开启全局设置,该配置会让 Polars 在多数操作(如聚合、过滤、统计计算等)中,将正负无穷(inf/-inf)当作 null 处理。

示例代码:

import polars as pl

# 全局开启 inf 按 null 处理
pl.Config.set_fold_inf_to_null(True)

# 测试数据
df = pl.DataFrame({"values": [2.5, float("inf"), -float("inf"), 4.2]})

# 过滤非 null 数据(会自动排除 inf 值)
print(df.filter(pl.col("values").is_not_null()))

2. 局部列处理

如果不需要全局生效,可以针对特定列显式将 inf 转换为 null:

import polars as pl

df = pl.DataFrame({"values": [2.5, float("inf"), -float("inf"), 4.2]})

# 方式1:replace 替换
df = df.with_columns(pl.col("values").replace([float("inf"), -float("inf")], None))

# 方式2:条件转换
df = df.with_columns(pl.col("values").is_infinite().then(None).otherwise(pl.col("values")))

需要注意的是,set_fold_inf_to_null 是让 Polars 在逻辑上把 inf 当作 null 处理,而非直接修改数据存储中的值;如果需要永久将 inf 替换为 null 存储,建议使用局部列处理的方式。

内容的提问来源于stack exchange,提问作者Leo Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 01:06:19