ホームページ > バックエンド開発 > Python チュートリアル > np.newaxis を使用して NumPy で配列の次元を制御するにはどうすればよいですか?

np.newaxis を使用して NumPy で配列の次元を制御するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-26 01:56:02
オリジナル
255 人が閲覧しました

How Can np.newaxis Be Used to Control Array Dimensions in NumPy?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート