说我做一个古灵精怪的小数组:数组numpy的阵列调整
>>> a = np.array([[[1,2,3],4],[[4,5,6],5]])
>>> a
array([[[1, 2, 3], 4],
[[4, 5, 6], 5]], dtype=object)
再取一的第一列作为一个切片:
>>> b = a[:,0]
>>> b
array([[1, 2, 3], [4, 5, 6]], dtype=object)
>>> b.shape
(2,)
说我现在要重塑B,使用它的形状是(2,3):
>>> b.reshape((-1,3))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: total size of new array must be unchanged
我假定numpy的被处理b中每个阵列作为一个对象,而不是在其本身的阵列。问题是,是否有一个很好的方法来进行所需的调整大小?
说得没错。但是,将数组放在[0,0]中并没有什么区别。 a [:,0]切片的结果仍返回一个对象数组。使用vstack确实可以做到这一点。 Upvote for you并接受georgesl立即指出vstack之后所需的结果形状(这正是我所寻找的)。 –