【发布时间】:2019-08-30 02:10:01
【问题描述】:
有 2 个 np.arrays,我想从形状 (12,) 重塑 np.array1 以参考具有形状 (4,) 的 array2:
array1 = np.array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) 和
array1.shape
返回:(12,)
array2 = np.array([ 12, 34, 56, 78])
和
array2.shape
返回:(4,)
我尝试执行reshape:
array1.reshape(array2.shape)
但是,有一个错误:
ValueError: cannot reshape array of size 12 into shape (4,)
所以,预期结果是 array1 有 4 个元素:
np.array([ 1, 2, 3, 4]),
而不是 12。
如果您有任何想法和帮助,我将不胜感激。
【问题讨论】:
-
在这个“重塑”之后元素 5 到 12 会发生什么?你这里不就是截断数组吗?
-
@coldspeed,我只需要从
array1中选择前 4 个元素。是的,我知道重塑和截断是两个不同的操作。截断改变大小,但保持形状。 Reshape 保持大小,但改变形状。最后,我必须使用切片。谢谢)
标签: python numpy reshape numpy-ndarray valueerror