Skip to main content
 首页 » 编程设计

python之如何在 numpy 数组中使用 for 循环

2025年05月04日15duanxz

我有这样一段代码

#predicitng values one by one  
regr = linear_model.LinearRegression() 
predicted_value = np.array([ 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]) 
predicted_value =  predicted_value.reshape(-1,1) 
 
 
#mt 
regr.fit(x, y) 
predicted_values = regr.predict(predicted_value) 
predict_outcome = regr.predict(predicted_value) 
predictions = {'predicted_value': predict_outcome} 
mmt = np.mean(predict_outcome) 
 
#ht 
regr.fit(x, ht) 
predicted_values = regr.predict(predicted_value) 
predict_outcome = regr.predict(predicted_value) 
predictions = {'predicted_value': predict_outcome} 
mht = np.mean(predict_outcome) 

在这里代替这个:

predicted_value = np.array([ 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]) 

我如何设置从 9 到 32(或 x 到 y)的范围,这样我就可以避免输入所有数字。如果使用 for 循环完成,如何在这种情况下应用它

请您参考如下方法:

不需要使用循环。您可以使用 numpy.arange([start, ]stop, [step, ])生成一系列数字。

在你的情况下:

predicted_value = np.arange(9, 33)  # Note the 33 if you want 9..32 

如果你真的想使用循环,可以选择使用 list comprehension :

predicted_value = np.array([i for i in range(9, 33)]) 

或者一个显式循环,这将是最可怕的:

predicted_value = np.empty(33 - 9) 
for k, i in enumerate(range(9, 33)): 
    predicted_value[k] = i