Numpy Array: Spalten manipulieren

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
Toadwart
User
Beiträge: 2
Registriert: Freitag 25. November 2016, 14:53

Hallo zusammen,

ich habe leider nicht wirklich viel Hilfreiches zu meinem Problem gefunden, oder aber ich war zu doof es zu verstehen :o

Ich habe einen 2 Dimensionelen numpy.array und würde auf den Spalten gerne rechnen. Meine Bisherige Lösung ist:
for i in range(mx[:,0].size): temp = mx[i,:]-mx[i,t] #zieht Spalte t von jeder Spalte ab

Gibt es da eine elegantere Lösung das ohne Schleife zu schreiben? Wenn ich Zeilen manipulieren will, kann ich ja zum Beispiel auch:
temp=mx[:]-mx[t]#zieht Reihe t von jeder Reihe ab
schreiben.

So eine Lösung suche ich :)
Besten Dank für alle Hilfe!
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@Toadwart: Du mußt verhindern, dass aus dem zwei dimensionalen Array ein eindimensionales wird, wenn Du eine Zeile auswählst. Am einfachsten geht das, wenn Du einen 1-elementigen Bereich selectierst:

Code: Alles auswählen

temp = mx - mx[:, t:t+1]
Toadwart
User
Beiträge: 2
Registriert: Freitag 25. November 2016, 14:53

Perfekt, vielen Dank!

Problem ist damit gelöst :) (Kann ich das irgendwie als gelöst markieren?)
Antworten