Ich habe ein Array das wie folgt aussieht:
array([[ 2. , 3. , 1. , 9. , 5. , ... ],
[ 0.33, 0.62, 0.51, 0.34, 0.94, ...]])
Ich würde dieses nun nach einer der beiden Zeilen sortieren, so dass die andere Zeile sich mit verändert. Also die Zahlen die zusammen gehören immer noch zusammen sind. Das Ergebnis soll nach Zeile 1 so aussehen:
array([[ 1. , 2. , 3. , 5. , 9. , ... ],
[ 0.51, 0.33, 0.62, 0.94, 0.34, ...]])
oder nach Zeile 2 so:
array([[ 2. , 9. , 1. , 3. , 5. , ... ],
[ 0.33, 0.34, 0.51, 0.62, 0.94, ...]])
Kann mir jemand helfen?
Spezielles Sortieren eines np.arrays
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Code: Alles auswählen
a = np.array([[3, 2, 1], [5, 4, 6]])
b = a.transpose()
for key in [0, 1]:
a[:] = b[b[:, key].argsort()].transpose()
print(a)
print()
Code: Alles auswählen
[[1 2 3]
[6 4 5]]
[[2 3 1]
[4 5 6]]
Code: Alles auswählen
a = np.array([[3, 2, 1], [5, 4, 6]]).transpose()
for key in [0, 1]:
a[:] = a[a[:, key].argsort()]
print(a)
print()
Code: Alles auswählen
[[1 6]
[2 4]
[3 5]]
[[2 4]
[3 5]
[1 6]]
In specifications, Murphy's Law supersedes Ohm's.