多次元 NumPy 配列での選択または代入の操作は、np.ix_ を使用して簡素化できます。仕組みは次のとおりです:
A.選択
np.ix_ を使用すると、インデックス付け配列を高次元の組み合わせにグループ化し、多次元配列のインデックス付けを行うことができます。 2 つの 1D インデックス配列 (row_indices とcol_indices など) を使用して選択を行うには、次を使用します。
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
これは、外側のインデックス配列 (row_indices など) が内側のインデックス配列に対してブロードキャストされるネストされたバージョンと同等です。インデックス配列 (col_indices):
<code class="python">x_indexed = x[np.asarray(row_indices)[:,None], col_indices]</code>
B.割り当て
同様に、np.ix_ によって作成されたインデックス配列タプルを使用して、データ ブロックのスカラー割り当てまたはブロードキャストを直接行うことができます。
<code class="python">x[np.ix_(row_indices, col_indices)] = scalar # assign a scalar x[np.ix_(row_indices, col_indices)] = block # assign a broadcastable block</code>
np.ix_ はブール マスクでも機能します:
A.選択
ブール マスク (row_mask およびcol_mask) を使用してデータ ブロックを選択するには、次を使用します。
<code class="python">x[np.ix_(row_mask, col_mask)]</code>
B.割り当て
ブールマスクを使用した割り当ての場合は、
<code class="python">x[np.ix_(row_mask, col_mask)] = scalar # assign a scalar x[np.ix_(row_mask, col_mask)] = block # assign a broadcastable block</code>を使用します。
以上が`np.ix_` はどのようにして多次元 NumPy 配列でのインデックスの選択と割り当てを簡素化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。