gpt4 book ai didi

python - 如何替换 Polars 系列中的某些值?

转载 作者:行者123 更新时间:2023-12-03 07:55:29 28 4
gpt4 key购买 nike

我想将 Polars 系列中的 inf 值替换为 0。我正在使用 Polars Python 库。

这是我的示例代码:

import polars as pl

example = pl.Series([1,2,float('inf'),4])


这是我想要的输出:

output = pl.Series([1.0,2.0,0.0,4.0])

有关替换的所有类似问题都与使用 .when 表达式(例如 Replace value by null in Polars )的极坐标数据帧有关,该表达式在 Series 对象中似乎不可用:

AttributeError:“Series”对象没有属性“when”

使用极坐标表达式可以吗?

编辑:我找到了以下解决方案,但看起来很复杂:

example.map_dict({float('inf'): 0 }, default= pl.first())

最佳答案

import polars as pl

example = pl.Series("example", [1, 2, float('inf'), 4])

# Create a DataFrame from the Series
df = pl.DataFrame([example])

# Replace inf values with 0 using the when expression
df = df.with_columns(
pl.when(pl.col("example") == float('inf'))
.then(0)
.otherwise(pl.col("example"))
.alias("example")
)

# Get the output Series
output = df["example"]

print(output)

结果:

shape: (4,)
Series: 'example' [f64]
[
1.0
2.0
0.0
4.0
]

关于python - 如何替换 Polars 系列中的某些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76152720/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com