【发布时间】:2013-08-28 14:58:51
【问题描述】:
考虑以下简单示例:
X = numpy.zeros([10, 4]) # 2D array
x = numpy.arange(0,10) # 1D array
X[:,0] = x # WORKS
X[:,0:1] = x # returns ERROR:
# ValueError: could not broadcast input array from shape (10) into shape (10,1)
X[:,0:1] = (x.reshape(-1, 1)) # WORKS
有人可以解释为什么 numpy 有形状为 (N,) 而不是 (N,1) 的向量吗? 将一维数组转换为二维数组的最佳方法是什么?
我为什么需要这个?
因为我有一个将结果x 插入到二维数组X 中的代码,并且x 的大小会不时变化,所以我有X[:, idx1:idx2] = x,如果x 也是二维的,但如果x 是一维则不行。
【问题讨论】:
标签: python arrays numpy multidimensional-array