[NumPy] 18.行列の1次元への変換(フラット化)

NumPy

行列をフラット化するための関数

行列の生成

flatten()による1次元化

元の行列を1次元に変換した行列が得られる。

ravel()による1次元化

flatten()と同様に、元の行列を1次元に変換した行列が得られる。

reshape(1,-1)による1次元化

(1,-1)で1次元の行列となる。

flatten()とravel()の違い

flatten()とravel()の違いは、元の配列に変更を加えた場合、変化が反映されるかされないかの違いである。ravel()は変化が反映されるため、知らぬ間に値が変わっていたということが起こりうる。
思わぬエラーを未然に防ぐためには、flatten()を利用したほうが良いと思われる。

参考

flattenよりも高速に配列を一次元化するnumpy.ravel関数の使い方
NumPyには配列を1次元ベクトル(配列)に変換する関数がravelとflattenの主に2つ存在します。本記事では、そのうちの1つであるravel関数について解説しました。

コメント