如何在python中创建一系列浮点值?

如何在python中创建一系列浮点值?,python,numpy,Python,Numpy,我试图在x+y+z等于1的条件下,在彼此内部做几个循环,以进入最后一个循环 我使用了以下方法: import numpy as np for gbrCount in np.arange(0, 1.0, 0.1): for xgbCount in np.arange(0, 1.0, 0.1): for regCount in np.arange(0, 1.0, 0.1): #check if sum is 1 if int(g

我试图在x+y+z等于1的条件下,在彼此内部做几个循环,以进入最后一个循环

我使用了以下方法:

import numpy as np
for gbrCount in np.arange(0, 1.0, 0.1):
    for xgbCount in np.arange(0, 1.0, 0.1):
        for regCount in np.arange(0, 1.0, 0.1):
            #check if sum is 1
            if int(gbrCount+xgbCount+regCount) == 1:

                y_p = (xgbCount*xgb.predict(testset)+ gbrCount*gbr.predict(testset)+regCount*regressor.predict(testset))
                testset['SalePrice']=np.expm1(y_p)
                y_train_p = xgb.predict(dataset)
                y_train_p = np.expm1(y_train_p)
                rmse.append(np.sqrt(mean_squared_error(y, y_train_p)))
                rmse.append(xgbCount)
                rmse.append(gbrCount)
                rmse.append(regCount)
但即使总和大于1,它也会进入循环。(xgb、reg和gbr)的某些值类似于0.7000001

所以我试着使用linspace,但它对float不起作用。所以我尝试了这个范围:

for gbrCount in range(0, 1):
    gbrCount += 0.1
    for xgbCount in range(0, 1):
        xgbCount += 0.1
        for regCount in range(0, 1):
            regCount += 0.1
            if int(gbrCount+xgbCount+regCount)==1:
                #y_p = (xgbCount*xgb.predict(testset)+ gbrCount*gbr.predict(testset)+regCount*regressor.predict(testset))
                #testset['SalePrice']=np.expm1(y_p)
                y_train_p = (xgbCount*xgb.predict(dataset)+ gbrCount*gbr.predict(dataset)+regCount*regressor.predict(dataset))
                y_train_p = np.expm1(y_train_p)
#                print(np.sqrt(mean_squared_error(y, y_train_p)))
#                print(xgbCount)
#                print(gbrCount)
#                print(regCount)
                print(xgbCount,  gbrCount, regCount, np.sqrt(mean_squared_error(y, y_train_p)))
但是它在控制台上没有出现任何错误。

这是怎么回事?(我不认为最后一个四舍五入是必要的,但为了安全起见,我把它放在那里了。)

将numpy导入为np
对于np.arange(0,1.0,0.1)中的_gbrCount:
对于np.arange(0,1.0,0.1)中的xgbCount:
gbrCount=np.四舍五入(_gbrCounr,小数=1)
xgbCount=np.四舍五入(_cgbCount,小数=1)
regCount=np.round(1-gbrCount-xgbCount,小数=1)
y_p=(xgbCount*xgb.predict(testset)+gbrCount*gbr.predict(testset)+regCount*registor.predict(testset))
testset['SalePrice']=np.expm1(y\u p)
y_train_p=xgb.predict(数据集)
y_列p=np.expm1(y_列p)
附加(np.sqrt(均方误差(y,y列p)))
rmse.append(xgbCount)
rmse.append(gbrCount)
rmse.append(regCount)

您可以松开第三个循环,进行类似于
gbrCount=np.round(gbrCount,decimals=1
gbrCount=np.round(xgbCount,decimals=1
,和
regCount=np.round(1-gbrCount-xgbCount,decimals=1)的操作
。这个问题实际上与机器学习无关-请不要发送不相关的标签(请编辑并删除)。