我是Matlab/Octave用户。Numpy文档称,与矩阵(
例如:
matrix
)相比,使用array
更加可取。是否有一种方便的方法来处理秩为1的数组,而不需要经常重塑它?例如:
data = np.loadtxt("ex1data1.txt", usecols=(0,1), delimiter=',',dtype=None)
X = data[:, 0]
y = data[:, 1]
m = len(y)
print X.shape, y.shape
>>> (97L, ) (97L, )
我无法使用concatenate
,vstack
,append
等方法向X添加新列,除了效率较慢的np.c_
方法外,不需要重新整形X:
X = np.concatenate((np.ones((m, 1)), X), axis = 1)
>>> ValueError: all the input arrays must have same number of dimensions
X - y的计算需要重新整理y的形状:np.reshape(y, (-1, 1))
np.arange(10).reshape(2,5)
这样的表达式。 - hpaulj