行列をフラット化するための関数
行列の生成
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関数について解説しました。
コメント