美好的一天,我正在尝试通过调用 numpy.polyfit() 来运行回归分析,但我在 x 变量上遇到一维维度错误,该变量恰好有 13 列和 506 行。我能够将 x 变量从数据帧转换为 numpy 数组,但形状仍然是二维的。在我能够在数据集上运行 polyfit 之前,x 变量需要为一维形状。我检查了类似的问题,但似乎没有一个可以回答我的问题。
以下是我的代码:
import numpy
y=house.iloc[:,-1]
#x=house.iloc[:,1:13]
#x=x.to_numpy()
numpy.polyfit(x,y,deg=1)
下面是 x 变量的形状
x.形状
(506, 12)
以下是错误消息:
551 raise ValueError("expected deg >= 0")
552 if x.ndim != 1:
--> 553 raise TypeError("expected 1D vector for x")
554 if x.size == 0:
555 raise TypeError("expected non-empty vector for x")
TypeError: x 的预期一维向量
当我尝试重塑时,我得到了一个格式如下的数组:
数组([[ 65.2 , 396.9 , 0. , ..., 15.3 , 1. , 6.575],
[ 78.9 , 396.9 , 0. , ..., 17.8 , 2. , 6.421],
[ 45.8 , 394.63 , 0. , ..., 18.7 , 3. , 6.998],
[ 89.3 , 393.45 , 0. , ..., 21. , 1. , 6.794]])
我希望它是这样的,当我打电话给 x. 形状,我应该得到(12),即列将变为行。任何有用的解决方案将不胜感激。谢谢。