Heim >Backend-Entwicklung >Python-Tutorial >Wie kann „np.ix_' die Indexauswahl und -zuweisung in mehrdimensionalen NumPy-Arrays vereinfachen?
Das Bearbeiten von Auswahlen oder Zuweisungen in mehrdimensionalen NumPy-Arrays kann mit np.ix_ vereinfacht werden. So funktioniert es:
A. Auswahl
np.ix_ ermöglicht Ihnen die Gruppierung von Indizierungsarrays in höherdimensionale Kombinationen zur Indizierung mehrdimensionaler Arrays. Um eine Auswahl mithilfe von zwei 1D-Indizierungsarrays (z. B. row_indices und col_indices) zu treffen, verwenden Sie Folgendes:
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Dies entspricht einer verschachtelten Version, bei der das äußere Indizierungsarray (z. B. row_indices) gegen das innere übertragen wird Indizierungsarray (col_indices):
<code class="python">x_indexed = x[np.asarray(row_indices)[:,None], col_indices]</code>
B. Zuweisung
In ähnlicher Weise können mithilfe des von np.ix_ erstellten Indizierungs-Array-Tupels skalare Zuweisungen oder die Übertragung eines Datenblocks direkt durchgeführt werden:
<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_ funktioniert auch mit Booleschen Masken:
A. Auswahl
Um einen Datenblock mithilfe boolescher Masken (row_mask und col_mask) auszuwählen, verwenden Sie:
<code class="python">x[np.ix_(row_mask, col_mask)]</code>
B. Zuweisung
Für Zuweisungen mit Booleschen Masken verwenden Sie:
<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>
Das obige ist der detaillierte Inhalt vonWie kann „np.ix_' die Indexauswahl und -zuweisung in mehrdimensionalen NumPy-Arrays vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!