gpt4 book ai didi

python - 如何用 100 代替 inf?

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:56 25 4
gpt4 key购买 nike

在我的数据集中,我有一列包含 inf。我尝试将其替换为 100,但出现错误 TypeError: Cannot compare types 'ndarray(dtype=float64)' and 'str'。此列中的所有其他值都是数字。

如何用 100 替换 inf

fresult.col1.replace(to_replace=dict(inf='100'), inplace=True)

最佳答案

您可以使用 replace通过 np.inf:

fresult = pd.DataFrame({'col1': [1, np.inf]})
print (fresult)
col1
0 1.000000
1 inf

fresult.col1 = fresult.col1.replace(np.inf, 100)
print (fresult)
col1
0 1.0
1 100.0

如果某些值无法转换to_numeric添加参数 errors='coerce' - 将其替换为 NaN

fresult = pd.DataFrame({'col1': [1, np.inf, 'a', 'inf']})
print (fresult)
col1
0 1
1 inf <- numpy.inf
2 a
3 inf <-text inf

fresult.col1 = pd.to_numeric(fresult.col1, errors='coerce').replace(np.inf, 100)
print (fresult)
col1
0 1.0
1 100.0
2 NaN
3 100.0

如果只有文本 inf:

fresult = pd.DataFrame({'col1': [1, np.inf, 'inf']})
print (fresult)
col1
0 1
1 inf
2 inf

print (type(fresult.col1.iat[1]))
<class 'float'>

print (type(fresult.col1.iat[2]))
<class 'str'>

fresult.col1 = pd.to_numeric(fresult.col1).replace(np.inf, 100)
print (fresult)
col1
0 1.0
1 100.0
2 100.0

关于python - 如何用 100 代替 inf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42155801/

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