ホームページ > バックエンド開発 > Python チュートリアル > NumPy の「np.newaxis」を使用して配列操作でブロードキャストを有効にするにはどうすればよいですか?

NumPy の「np.newaxis」を使用して配列操作でブロードキャストを有効にするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-26 06:18:30
オリジナル
1001 人が閲覧しました

How can NumPy's 'np.newaxis' be used to enable broadcasting in array operations?

NumPy の 'np.newaxis' とは何か、その使用方法

'np.newaxis' について

NumPy の「np.newaxis」は「None」とも呼ばれ、配列に軸を一時的に追加するために使用される疑似インデックスです。一度使用すると、配列の次元が 1 つ増加します。たとえば、1D 配列は 2D 配列になり、2D 配列は 3D 配列になります。

'np.newaxis' を使用するシナリオ

シナリオ 1: 1D 配列から行/列ベクトルを作成する

'np.newaxis' を使用すると、(最初の次元に軸を挿入することで) 1D 配列を行ベクトルに明示的に変換できます。または列ベクトル (2 次元に沿って軸を挿入することにより)。

シナリオ 2: NumPy ブロードキャストを有効にする

「np.newaxis」は、次のような操作を実行するときに役立ちます。 NumPy ブロードキャスト。たとえば、形状「(5,)」と「(3,)」を持つ 2 つの配列を追加することを考えてみましょう。 NumPy では、形状に互換性がないためエラーが発生します。 「np.newaxis」を使用して 1 つの配列の次元を増やすと、ブロードキャストを有効にして操作を実行できます。

シナリオ 3: 配列を高次元に昇格する

'np.newaxis' は、配列を高次元にプロモートするために複数回使用できます。これは、高次の配列 (テンソル) に必要になる場合があります。

使用例

へ「np.newaxis」を使用して、スライス式に挿入します。例:

<code class="python"># Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]</code>
ログイン後にコピー

ブロードキャストを有効にするには:

<code class="python"># Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new + x2</code>
ログイン後にコピー

代替: 'np.expand_dims'

'np.expand_dims' は新しい軸の挿入点を指定するための直感的な「axis」kwarg を提供する「np.newaxis」の代替です。

補足

  • ' np.newaxis' は、配列を新しいレイアウトに再形成する 'np.reshape' とは異なり、一時的に軸を追加します。
  • 'np.newaxis' と 'None' は同等のオブジェクトです。

以上がNumPy の「np.newaxis」を使用して配列操作でブロードキャストを有効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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