ホームページ >バックエンド開発 >Python チュートリアル >## Flatten と Ravel: 各 NumPy 関数をいつ使用するか、そしてなぜ使用するか?
NumPy の Flatten 関数と Ravel 関数を明確にする
数値演算用の強力な Python ライブラリである NumPy は、一見似ている 2 つの関数、 flatten と Ravel を提供します。解ける。どちらも多次元配列を 1 次元配列に変換することを目的としています。ただし、それらの間には微妙な違いが存在します。
Flatten と Ravel の動作
次の NumPy 配列を考えてみましょう:
<code class="python">import numpy as np y = np.array(((1,2,3),(4,5,6),(7,8,9)))</code>
flatten 関数の適用結果は次のようになります:
<code class="python">print(y.flatten()) [1 2 3 4 5 6 7 8 9]</code>
同様に、ravel 関数は同じ出力を生成します:
<code class="python">print(y.ravel()) [1 2 3 4 5 6 7 8 9]</code>
主な違い
どちらの関数も同じものを返します
概要
Flatten と ravel は両方です。多次元の NumPy 配列を 1 次元に平坦化するために使用されます。 Flatten はメモリ コピーを作成し、ravel はビューを提供します。 Ravel の方が速いですが、特にパフォーマンスを最適化する場合、変更には慎重な考慮が必要です。 Reshape((-1,)) は、メモリ使用量とパフォーマンスを最適化するために特定のケースで使用できます。
以上が## Flatten と Ravel: 各 NumPy 関数をいつ使用するか、そしてなぜ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。