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 に答える