Ich habe eine große 2d-Array mit Hunderten von Spalten. Ich möchte es lexikografisch sortieren, d. H. Nach erster Spalte, dann nach zweiter Spalte usw. bis zur letzten Spalte. Ich denke, das sollte einfach sein, aber ich war nicht in der Lage, einen schnellen Weg zu finden, dies zu tun.sortieren 2d numpy Array lexikografisch
2
A
Antwort
4
Dies ist, was numpy.lexsort
ist, aber die Schnittstelle ist peinlich. Direkt ein 2D-Array, und es wird die Spalten, Sortierung durch die letzten Reihe zuerst, dann die zweite zu letzten Zeile argsort, weiterhin auf die erste Zeile nach oben:
>>> x
array([[0, 0, 0, 2, 3],
[2, 3, 2, 3, 2],
[3, 1, 3, 0, 0],
[3, 1, 1, 3, 1]])
>>> numpy.lexsort(x)
array([4, 1, 2, 3, 0], dtype=int64)
Wenn Sie möchten, durch die Zeilen, mit der ersten Spalte als Primärschlüssel zu sortieren, müssen Sie das Array vor lexsort
ing um es zu drehen:
>>> x[numpy.lexsort(numpy.rot90(x))]
array([[0, 0, 0, 2, 3],
[2, 3, 2, 3, 2],
[3, 1, 1, 3, 1],
[3, 1, 3, 0, 0]])
Verwandte Themen
- 1. Sortieren multidimensionalen Array numerisch und lexikografisch Javascript
- 2. matplotlib 2d numpy Array
- 3. Sortieren (symmetrischen) numpy 2D-Array nach Funktion. (Norm)
- 4. Sortieren 2d Kalibriermuster Punkte mit numpy
- 5. Wie ein 2d numpy Array
- 6. numpy 3D-Bild-Array 2D
- 7. Numpy Rebinning ein 2D-Array
- 8. 3d Numpy Array bis 2d
- 9. Subsetting ein 2D-numpy-Array
- 10. Sortieren 2D-Array in PHP
- 11. Wie man numpy 2D-Array mit numpy 1D Array multiplizieren?
- 12. Sortieren eines 2D-Numpy-Arrays nach mehreren Achsen
- 13. Machen Sie 2D Numpy Array von Koordinaten
- 14. 2D-Numpy-Array nach Index zerlegen
- 15. 2D Numpy Array zu HTML-Tabelle?
- 16. vectorize NumPy Spatprodukt auf 2D-Array
- 17. Numpy verketten 2D-Arrays mit 1D-Array
- 18. Python Enumerate durch 2D-Array in numpy
- 19. Java. 2d Array sortieren nach Spalte
- 20. 2D-Array nach spezifischer Zeile sortieren
- 21. numpy nicht sortieren einfaches numpy Array mit doppelten Objekten
- 22. wandeln Sie eine 2D-Numpy-Matrix in ein 2D-Numpy-Array um
- 23. numpy zu subtrahieren/hinzufügen 1d Array von 2D-Array
- 24. Construct 3D-Array in numpy von bestehenden 2D-Array
- 25. Numpy: 1D-Array als 2D-Array ohne Umformung
- 26. Index 2D numpy Array von einem 2D-Array von Indizes ohne Loops
- 27. Slice 2d Array in kleinere 2d Arrays
- 28. Konvertieren eines 1D-Arrays in ein 2D-Array in numpy
- 29. Ein diagonales Kreuzprofil aus einem 2D Numpy Array extrahieren
- 30. Numpy mit Python: Konvertieren 3D-Array zu 2D
Großer dies scheint zu funktionieren! Also muss ich in dieser Suche eine Suche machen, aber ich weiß nicht wie. Bei einem 1d-Array möchte ich herausfinden, ob es sich um eine der sortierten Zeilen des 2d-Arrays handelt. Irgendwelche Vorschläge würden geschätzt werden. – grigor
@grigor: vielleicht * [alle (row == t) für row in x] * – user66081