np.concatenate使用报错求助:多项式回归结果拼接问题
解决np.concatenate报错问题
报错原因
np.concatenate要求第一个参数是数组的序列(元组或列表),你写的np.concatenate((y_test),(y_predict))相当于把y_test作为第一个参数,y_predict被当成了第二个参数(即axis参数),但axis必须是整数,因此触发报错。
正确解决方法
1. 一维拼接(把两个数组连成长一维数组)
将两个数组放在同一个元组或列表中作为第一个参数传入:
import numpy as np # 用元组传递 combined_array = np.concatenate((y_test, y_pred)) # 或用列表传递 combined_array = np.concatenate([y_test, y_pred])
2. 二维列拼接(真实值与预测值并排)
如果想把测试值和预测值按列对应展示,需要先将一维数组转为二维,再指定axis=1:
# 扩展为二维数组 y_test_2d = y_test.reshape(-1, 1) y_pred_2d = y_pred.reshape(-1, 1) # 按列拼接 combined_2d = np.concatenate((y_test_2d, y_pred_2d), axis=1)
关于数值取整
完全不需要取整,报错和数值是否为整数无关,取整会丢失数据精度,属于多余操作。
内容的提问来源于stack exchange,提问作者Newbie
相关产品推荐
相关产品推荐

