Mittelwerte ohne Schleife

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
pythy
User
Beiträge: 7
Registriert: Donnerstag 25. Juli 2013, 12:41

Hallo liebe Mitglieder,

ich habe eine relativ einfach Frage. Angenommen ich habe eine Matrix data [nDim x nBeob] mit Datenverktoren und einen Vektor v [1 x nBeob] mit Indices, wie kann ich, möglichst ohne Schleife die Mittelwerte entsprechend der Indices in eine neue Matrix schreiben (sprich: gibt es eine Möglichkeit die untere Funktion ohne Schleife zu schreiben)?

Beispiel:

Code: Alles auswählen

import numpy as np

data = np.array([[1,2,3,4,4,1], [5,6,7,8,8,6], [9,1,2,3,0,7]])
v = np.array((1,0,1,0,1,0))

[nDim, nObs] = np.shape(data)
nMeans = np.size(np.unique(v))
means = np.zeros((nDim, nMeans))

for i in range (nMeans):
    means[:,i] = np.mean(data[:,v == i], axis=1)
Vielen Dank!
Antworten