Heim  >  Artikel  >  Backend-Entwicklung  >  Wie wähle ich in NumPy effizient bestimmte Spaltenindizes pro Zeile aus?

Wie wähle ich in NumPy effizient bestimmte Spaltenindizes pro Zeile aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 00:32:31814Durchsuche

How to Efficiently Select Specific Column Indexes per Row in NumPy?

NumPy: Effiziente Auswahl spezifischer Spaltenindizes pro Zeile

Die Datenauswahl ist ein entscheidender Vorgang in der Datenanalyse. Bei der Arbeit mit NumPy-Arrays kann die Auswahl bestimmter Spalten aus jeder Zeile eine häufige Aufgabe sein. Diese Auswahl kann mit verschiedenen Methoden durchgeführt werden, aber die Auswahl von Spalten basierend auf einer Liste von Indizes pro Zeile erfordert einen effizienteren Ansatz.

Boolesche Arrays für die Direktauswahl verwenden

Wenn Sie über ein boolesches Array verfügen, das die auszuwählenden Spalten angibt, können Sie die direkte Auswahl verwenden, um die gewünschten Werte effizient zu extrahieren. Boolesche Arrays können erstellt werden, indem eine Liste von Indizes mit dem Spaltenbereich verglichen wird. Wenn Sie beispielsweise eine Matrix

<code class="python">import numpy as np

X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Y = np.array([1, 0, 2])
b = np.arange(X.shape[1])[np.isin(np.arange(X.shape[1]), Y)]</code>

Diese Methode bietet eine schnelle Möglichkeit, bestimmte Spalten basierend auf dem booleschen Array auszuwählen.

<code class="python">result = X[np.arange(X.shape[0]), b]</code>

Alternative Methoden

Alternativ können Sie verwenden np.arange und direkte Auswahl basierend auf der Indexliste Y. Bei diesem Ansatz wird ein Array von Indizes erstellt und entsprechend aus der Matrix X ausgewählt:

Schlussfolgerung
<code class="python">result = X[np.arange(X.shape[0]), Y]</code>

Die Auswahl bestimmter Spaltenindizes pro Zeile in NumPy kann mithilfe boolescher Arrays effizient erfolgen. Diese Methode ermöglicht eine schnelle und unkomplizierte Auswahl von Spalten basierend auf einer Liste von Indizes. Bei großen Datenmengen bietet dieser Ansatz erhebliche Leistungsvorteile gegenüber iterationsbasierten Methoden.

Das obige ist der detaillierte Inhalt vonWie wähle ich in NumPy effizient bestimmte Spaltenindizes pro Zeile aus?. 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