Sortieren und Rücksortieren einer Matrix

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hallo und guten Morgen,

ich habe eine kleine Aufgabe, die ich nicht wirklich weiss, wie zu lösen.

Ich habe eine Array in Matrixform und will dann zeilenweise absteigend sortieren.
Darauf dann je Wert eine Operation ausführen (die beiden Nachbarn addieren)
und dann den geänderten Wert wieder an die ursprüngliche Stelle zurückschreiben.

Wie löse ich das am besten?

lg
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
BlackJack

@CoderGirl: Kannst Du ein Beispiel für die Eingabe zeigen und wie die Ausgabe dazu aussehen soll?

Ansonsten: Sortieren geht mit `argsort()` und anschliessendem Indexzugriff mit dem Ergebnis der Funktion/Methode. Zum Rücksortieren kann man sich aus dem `argsort()`-Ergebnis und einem Array mit aufsteigenden Werten einen inversen Index erstellen.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hi

danke für die Antwort..

ich mag mal ein Bsp:

Ausgangsmatrix:

mat = np.array([ [2, 3, 1, 4 ],
[1, 3, 4, 2 ],
[4, 2, 8, 9 ])

Sortiert:

mat_sort = np.array([ [4, 3, 2, 1 ],
[4, 3, 2, 1 ],
[9, 8, 4, 2 ])

Berechnung: Addition des linke und rechten Nachbar in der Zeile, wenn es ihn gibt:

mat_add = np.array([ [7, 9, 6, 3 ],
[7, 9, 6, 3 ],
[17, 21, 14, 6 ])

"Zurücksortiert" auf die alte Stelle

mat_back = np.array([ [6, 9, 3, 7 ],
[3, 9, 7, 6 ],
[14, 6, 21, 17 ])

Danke euch
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

danke für die Hilfe, aber ich habe eben einen anderen
Ansatz gefunden, das Problem gänzlich anders zu lösen. :D :D :D :D
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Antworten