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

Patricia Arquette
Freigeben: 2024-10-27 00:32:31
Original
896 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage