我收到以下错误
IndexError:索引过多 用于数组
运行此代码时:
import numpy as np
import matplotlib.pyplot as plt
y = np.array([[208500, 181500,
223500,
140000, 250000, 143000,
307000, 200000, 129900,
118000]])
X = np.array([[1710, 1262, 1786,
1717, 2198, 1362,
1694, 2090, 1774,
1077],
[2003, 1976, 2001,
1915, 2000, 1993,
2004, 1973, 1931,
1939]])
data=[X, y]
# print data
print(data)
input= np.array(data)
print(input)
# Setup matrices
m = np.shape(input)[0]
X=np.matrix([np.ones(m),input[:,0]]).T
y = np.matrix(input[:,1]).T
有人可以帮我弄清楚问题是什么吗?
答案 0 :(得分:0)
首先,名为input
的变量是一维数组。您不能使用两个索引来访问一维数组。一个很好的例子是,您不能仅使用一个索引访问矩阵,也不能访问具有两个索引的向量。
如果执行input
,则可以检查input.shape
的大小
如我所见,您在input
变量中有一个带有两个嵌套数组的一维数组。如果要访问第一个数组,则应执行input [0]并在数组位于该位置的位置附加索引,例如input[0][0,0]
第一个数组是2D形状,如果执行则可以检查它
input[0].shape
因此,您应该使用2个索引来访问它。
让我知道是否需要进一步的帮助。