np.newaxis とそのアプリケーションについて
NumPy の np.newaxis は、ユーザーが配列の次元をシームレスに増やすことができる強力なツールです。 np.newaxis を一度利用すると、1 次元配列が 2 次元配列に変換され、2 次元配列が 3 次元に変換されます。
シナリオ 1: 行または列の作成Vectors
np.newaxis は、1 次元配列を行ベクトルまたは列ベクトルに明示的に変換する場合に便利です。最初の次元に沿って軸を挿入することで行ベクトルを作成し、2 番目の次元に沿って軸を挿入することで列ベクトルを取得します。
例:
<code class="python">arr = np.arange(4) row_vec = arr[np.newaxis, :] col_vec = arr[:, np.newaxis]</code>
シナリオ 2: ブロードキャストの有効化
np.newaxis は、加算などの操作に対する NumPy のブロードキャストを容易にする上で重要な役割を果たします。例として、次の配列を考えてみましょう:
<code class="python">x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array([5, 4, 3])</code>
これらの配列を NumPy に直接追加しようとすると、形状が異なるため、ValueError がトリガーされます。 np.newaxis を使用していずれかの配列に新しい軸を挿入すると、ブロードキャストが有効になり、操作が続行できるようになります。
例:
<code class="python">x1_new = x1[:, np.newaxis] sum_array = x1_new + x2</code>
あるいは、次のようにすることもできます。新しい軸を x2 に追加します:
<code class="python">x2_new = x2[:, np.newaxis] sum_array = x1 + x2_new</code>
シナリオ 3: 高次配列の次元のプロモート
np.newaxis を複数回使用して、配列を x2 にプロモートできます。高次元。テンソルの操作に特に便利な機能です。
例:
<code class="python">arr = np.arange(5*5).reshape(5,5) arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]</code>
代替: np.expand_dims および None
np.expand_dims は、次元を拡張するための直感的な軸パラメータを提供します。さらに、None は np.newaxis と同じ意味で使用できます。
結論
np.newaxis は、NumPy 配列の次元を管理するための多用途ツールです。その用途は、行ベクトルまたは列ベクトルの作成から、ブロードキャストの有効化や高次配列の次元のプロモートまで多岐にわたります。
以上がnp.newaxis を使用して NumPy で配列の次元を制御するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。