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)