Python 为什么结果是一个循环数,而它应该是一个整数?
大家好,我正在为类编写一些代码,这是为线性回归编写的。Python 为什么结果是一个循环数,而它应该是一个整数?,python,numpy,Python,Numpy,大家好,我正在为类编写一些代码,这是为线性回归编写的。 对于代码中可以看到的数据,手动计算的值为a=1.7和b=1.6 我尝试过将公式的不同部分分成不同的变量,但答案是一样的(1.6999999993) 预期结果是a=1.7和b=1.6,但输出是a=1.699999999993。这是因为您使用的是floatnumber,二进制浮点数学是这样的。在大多数编程语言中,它基于 import numpy as np x=np.array([2,3,5,6]) y=np.array([4.5,7.
对于代码中可以看到的数据,手动计算的值为a=1.7和b=1.6 我尝试过将公式的不同部分分成不同的变量,但答案是一样的(1.6999999993)
预期结果是a=1.7和b=1.6,但输出是a=1.699999999993。这是因为您使用的是
float
number,二进制浮点数学是这样的。在大多数编程语言中,它基于
import numpy as np
x=np.array([2,3,5,6])
y=np.array([4.5,7.2,9.2,11.5])
b=(np.sum((y-np.mean(y))*x))/(np.sum((x-np.mean(x))*x))
a=np.mean(y)-(b*(np.mean(x)))
print(a)
print(b)
请参见这是因为您使用的是
float
number,二进制浮点数学是这样的。在大多数编程语言中,它基于
请参见它基于
但是如果你想让你的结果以‘a=1.7’的形式出现。那么你可以试试这个
import numpy as np
x=np.array([2,3,5,6])
y=np.array([4.5,7.2,9.2,11.5])
b=(np.sum((y-np.mean(y))*x))/(np.sum((x-np.mean(x))*x))
a=np.mean(y)-(b*(np.mean(x)))
a = "%.1f"% (a)
print(a)
print(b)
它是基于
但是如果你想让你的结果以‘a=1.7’的形式出现。那么你可以试试这个
import numpy as np
x=np.array([2,3,5,6])
y=np.array([4.5,7.2,9.2,11.5])
b=(np.sum((y-np.mean(y))*x))/(np.sum((x-np.mean(x))*x))
a=np.mean(y)-(b*(np.mean(x)))
a = "%.1f"% (a)
print(a)
print(b)
1.7不是整数。1.7不是整数。