Wie kann ich mithilfe von Listen in NumPy effizient Spalten nach Index auswählen?

Linda Hamilton
Freigeben: 2024-10-27 02:11:30
Original
827 Leute haben es durchsucht

How Can I Efficiently Select Columns by Index Using Lists in NumPy?

NumPy: Effiziente Auswahl von Spalten nach Index mithilfe von Listen

Viele Datenbearbeitungsaufgaben umfassen die Auswahl bestimmter Spalten aus einer NumPy-Matrix. Wenn die auszuwählenden Spalten je nach Zeile variieren, besteht ein einfacher Ansatz darin, über das Array zu iterieren, was bei großen Datensätzen rechenintensiv sein kann.

NumPy bietet jedoch eine optimiertere Lösung mit booleschen oder ganzzahligen Arrays. Anstelle einer Liste von Spaltenindizes können Sie eine Matrix mit derselben Form wie die ursprüngliche Matrix erstellen, wobei jede Spalte Werte enthält, die angeben, ob diese Spalte ausgewählt werden soll.

Betrachten Sie beispielsweise die folgende Matrix:

[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
Nach dem Login kopieren

Und die folgende Indexmatrix:

[[False, True, False],
[True, False, False],
[False, False, True]]
Nach dem Login kopieren

Mit der Direktauswahl von NumPy können Sie die gewünschten Werte einfach extrahieren:

<code class="python">a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([[False, True, False], [True, False, False], [False, False, True]])
selected_values = a[b]</code>
Nach dem Login kopieren

Dies erzeugt die gewünschte Ausgabe :

[2, 4, 9]
Nach dem Login kopieren

Alternativ können Sie die arange()-Funktion und die direkte Auswahl für noch mehr Effizienz verwenden:

<code class="python">selected_values = a[np.arange(len(a)), [1, 0, 2]]</code>
Nach dem Login kopieren

Durch die Nutzung der optimierten NumPy-Auswahlmethoden können Sie die Leistung Ihrer Datenmanipulationsaufgaben bei der Auswahl von Spalten durch Variation der Indizes pro Zeile.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Listen in NumPy effizient Spalten nach Index auswählen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!