Um ein 2D-NumPy-Array mithilfe von zwei Listen zu indizieren von Indizes, Arrays, können wir die Funktion np.ix_ in Verbindung mit der Indizierung von Arrays verwenden.
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Alternativ können wir np.ix_ mit verwenden boolesche Masken zum Auswählen und Indizieren des Arrays:
<code class="python">row_mask = [0, 1, 1, 0, 0, 1, 0] col_mask = [1, 0, 1, 0, 1, 1, 0, 0] x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Betrachten Sie das folgende Beispiel:
<code class="python">import numpy as np x = np.random.randint(0, 6, (20, 8)) row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2]</code>
Um x mithilfe der bereitgestellten Listen zu indizieren, können wir verwenden beide Methoden:
<code class="python"># Using np.ix_ with indexing arrays x_indexed = x[np.ix_(row_indices, col_indices)] # Using np.ix_ with masks row_mask = np.isin(np.arange(x.shape[0]), row_indices) col_mask = np.isin(np.arange(x.shape[1]), col_indices) x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Beide Methoden führen zum gewünschten indizierten Array:
<code class="python">>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])</code>
Das obige ist der detaillierte Inhalt vonWie indiziere ich ein 2D-NumPy-Array mithilfe von zwei Indexlisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!