「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > NumPy の「np.newaxis」を使用して配列操作でブロードキャストを有効にするにはどうすればよいですか?

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

2024 年 11 月 8 日に公開
ブラウズ:564

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 からの行/列ベクトルの作成Arrays

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

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

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

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

「np.newaxis」は配列を高次元に昇格させるために複数回使用できます。これは高次の配列に必要となる場合があります。 (tensor).

使用例

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

# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]

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

# 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

代替: 'np.expand_dims'

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

追加Notes

  • 'np.newaxis' は、配列を新しいレイアウトに再形成する 'np.reshape' とは異なり、一時的に軸を追加します。
  • 'np.newaxis' および「なし」は同等のオブジェクトです。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3