gpt4 book ai didi

python - 为什么我的替换函数有错误?

转载 作者:太空宇宙 更新时间:2023-11-04 07:18:12 24 4
gpt4 key购买 nike

import numpy as np
import pandas as pd
x = np.linspace(-0.02, 0.02, 5)
print pd.Series([-0.02, 0.02, -0.01, 0.01, 0.02]).replace(x, np.arange(0, 5))
print pd.Series([-0.02, 0.02, -0.01, 0.01, 0.02]).replace([-0.02, -0.01, 0, 0.01, 0.02], [0, 1, 2, 3, 4])

结果是:

0      0.00  
1 4.00
2 1.00
3 0.01
4 4.00
dtype: float64

0 0
1 4
2 1
3 3
4 4
dtype: float64

为什么替换函数不能在第一个打印语句中将 0.01 转换为 3?

最佳答案

我认为这是创建x 时的浮点错误。很难像这样比较 float 是否相等

import numpy as np
x = np.linspace(-0.02, 0.02, 5)

print x
# [-0.02 -0.01 0. 0.01 0.02]

0.01 in x
# False

print x[3]
# 0.0099999999999999985

print x[4]
# 0.02

关于python - 为什么我的替换函数有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009053/

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