2017-02-26 3 views
-1

ich zur Zeit an diesem Projekt arbeite,wie der Mittelwert aus Python-Matrix nehmen

import numpy as np 

COLUMN_NUM = 4 
datos = np.genfromtxt('a.csv', delimiter=',')[1:] 

#data = np.pad(data, (0, COLUMN_NUM - len(data) % COLUMN_NUM), 'constant') 
ds= datos.reshape((-1, COLUMN_NUM)) 

print ds 

Ich bin gettings diese Ergebnisse:

[[ 4. 33.29 33.23 33.23] 
[ 33.29 33.23 33.29 33.29] 
[ 33.29 33.33 33.29 33.33] 
[ 33.29 33.33 33.33 33.37] 
[ 33.33 33.33 33.33 33.33] 
[ 33.37 33.37 33.37 33.37]] 

ich versuche, den Mittelwert von jedem zu nehmen ROW indiviuduell, aber ich habe viel Ärger. Kann irgendein Mietvertrag helfen, dies herauszufinden? Vielen Dank. Ich bin wirklich neu bei Python.

Antwort

1

können Sie ndarry.mean verwenden und es axis=1 passieren:

>>> datos.mean(axis=1) 
[ 2. 5. 8.] 

axis=1mean erzählen Sie den Mittelwert jeder Zeile werden soll. Die anderen Optionen sind, nichts weiterzugeben (dann gibt mean den Mittelwert der gesamten "Matrix" zurück) und axis=0, der den Mittelwert jeder Spalte zurückgibt.

Siehe ndarray.mean's docs.

+0

Danke, aber ich bin immer dies: Artikel * = arr.shape [ax] Indexerror: Tupelindex Bereich aus Hast du eine Ahnung warum? Ich aonly tat: Drucken datos.mean (Achse = 1) –

-1

Um den Mittelwert jeder Zeile einer Matrix nehmen den folgenden Code verwenden

l = [] 
for i in mat: 
    sum = 0 
    for j in i: 
     sum = sum + j 
    l.append(sum/len(i)) 
print(l) 
+0

So Wegwerfen der Vektorisierung vollständig? – Peaceful

+0

Vielen Dank, aber ich bekomme einen Fehler: für i in mat: NameError: Name 'Mat' ist nicht definiert können Sie mir helfen? –

+0

@CristianJEstrada Ersetzen Sie Matte mit dem Namen der Matrix, die Sie wollen. –

Verwandte Themen