Heim >Backend-Entwicklung >Python-Tutorial >Wie kann „np.ix_' die Indexauswahl und -zuweisung in mehrdimensionalen NumPy-Arrays vereinfachen?

Wie kann „np.ix_' die Indexauswahl und -zuweisung in mehrdimensionalen NumPy-Arrays vereinfachen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 19:38:021079Durchsuche

How can `np.ix_` simplify index selection and assignment in multidimensional NumPy arrays?

Indizieren von Arrays und booleschen Masken für die Indexauswahl oder -zuweisung mit np.ix_

Das Bearbeiten von Auswahlen oder Zuweisungen in mehrdimensionalen NumPy-Arrays kann mit np.ix_ vereinfacht werden. So funktioniert es:

1. Verwenden von Indexierungsarrays

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>

2. Boolesche Masken verwenden

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn