9

我正在使用不同长度的 ndarray 切片,我希望我的结果是平坦的。例如:

a = np.array(((np.array((1,2)), np.array((1,2,3))), (np.array((1,2)), np.array((1,2,3,4,5,6,7,8)))))

有没有直接的方法通过使用 numpy 功能(没有循环)使这个数组变平?

4

1 回答 1

24

您可以尝试将其展,然后使用hstack,它将数组按顺序水平堆叠。

>>> a = np.array(((np.array((1,2)), np.array((1,2,3))), (np.array((1,2)), np.array((1,2,3,4,5,6,7,8)))))
>>> np.hstack(a.flatten())
array([1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 4, 5, 6, 7, 8])
于 2012-12-18T22:55:41.370 回答