2016-09-16 3 views
-1

Ich benutze ein Template-Skript, um Datenanalyse in numpy zu lernen und ich verstehe diese Syntax nicht. Es gibt zwei Arrays dist_data und dataArray, l ist eine Loop-Dummy-Variable (wie in for l in range(0,k):) und ich verstehe nicht den Inhalt, insbesondere den Zweck der Trennung durch , in der zweiten Klammer [l, self.dataArray.shape[1]-1], weil ich davon ausgehe, dass es ein dargestellt Spalte von dist_dataHilfe anfordern numpy Array-Syntax

dist_data[dist_data[:,-1].argsort()][l, self.dataArray.shape[1]-1]

+0

Sie sollten den Code notieren, mit dem Sie arbeiten. So können andere Leute besser verstehen, was Sie damit zu tun haben – Jalo

+0

Erstens, ändern Sie diese Schleife Variable zu etwas gesund! –

Antwort

1
dist_data[dist_data[:,-1].argsort()][l, self.dataArray.shape[1]-1] 

dist_data[:,-1] letzte Spalte von 2d dist_data. Sortieren Sie darauf und erhalten Sie die Indizes

So dist_data[dist_data[:,-1].argsort()] ist dist_data sortiert nach der letzten Spalte.

[l, self.dataArray.shape[1]-1] ist nur eine Indizierung auf einem 2d-Array; die l Zeile und die self... Spalte. Es sieht aus wie die Spalte, die der letzten self.dataArray entspricht.

Also in Summe - Sortierung dist_data auf der letzten Spalte, und wählen Sie die Zeile l'th, und einige Spalten.

+0

Vielen Dank für die Antwort; Ich konnte es verwenden, um ein Beispiel np.array zu erstellen und zu manipulieren, um den Zweck dieser Syntax herauszufinden – sda