Ich habe folgende numpy matrix:Iterieren über numpy Matrixspalten
0 1 2 3 4 5 6 7 8 9
0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.0 0.0 5.0 0.0 9.0 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.0 0.0
4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 7.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
7 5.0 0.0 0.0 0.0 0.0 0.0 0.0 6.0 0.0 0.0
8 2.0 0.0 0.0 0.0 3.0 0.0 6.0 0.0 8.0 0.0
9 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Ich will die Nicht-Null-Wert durchschnittlich jede Zeile und Spalte separat berechnen. So soll mein Ergebnis so etwas wie diese:
average_rows = [1.0,7.0,2.0,5.0,0.0,4.0,0.0,5.5,4.75,1.0,0.0]
average_cols = [3.5,1.0,4.33333,0.0,4.33333,0.0,4.0,6.0,6.5,0.0]
Ich kann nicht herausfinden, wie über sie zu durchlaufen, und ich bekomme immer wieder TypeError: unhashable type
Auch bin ich nicht sicher, ob das Iterieren die beste Lösung , Versuchte ich auch etwas wie R[:,i]
, um jede Spalte zu ergreifen und es unter Verwendung sum(R[:,i])
zu summieren, aber behalten Sie den gleichen Fehler.
Wie haben Sie diese übersichtliche Tabellenanzeige erhalten? Es ist nicht normal "numpig". Mit Zeilen- und Spaltenbezeichnungen sieht es aus wie 'Pandas'. Was ** genau ** meinst du mit 'Matrix'? – hpaulj
Es ist numpy. Ich beginne mit 'R = np.zeros ((Rrows, Rcols))', dann iteriert und füllt die Nicht-Null-Werte auf, es ist meist eine dünne Matrix. Es könnte schön angezeigt werden, da ich ipython notebook verwende. – BKS
Ok, ich benutze Ipython alle, aber nicht das Notebook. Aber wenn das das "R" ist, sehe ich nicht, wo der "nicht hashable" Fehler herkommt. Wenn Sie Fehler melden, sollten Sie mindestens einen Teil des Fehlerstapels und die Codezeile anzeigen, die ihn erzeugt hat. – hpaulj