【numpy】多次元配列を1次元配列にする

> x = np.arange(16).reshape(4, 4)
array([[0, 1, 2, 3],
       [4, 5, 6, 7],
       [8, 9, 10, 11],
       [12, 13, 14, 15]])

# 方法1
> x.reshape(-1,)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])


# 方法2
> np.ravel(x)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

多次元配列の型がnp.arrayならメソッドとして

>a = np.array([[1,2],[3,4]])
>a.ravel()
array([1,2,3,4])
>np.ravel(a)
array([1,2,3,4])

>b = [[1,2],[3,4]]
>b.ravel()
#エラー
>np.array(b)
array([1,2,3,4])