0

美好的一天,我正在尝试通过调用 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),即列将变为行。任何有用的解决方案将不胜感激。谢谢。

4

0 回答 0