Ich bin ein 2D-Array Binning (x von y) in Python in die Behälter des x-Wertes (angegeben in "bins"), unter Verwendung von np.digitize:vektorisierten Ansatz mit Binning numpy/scipy in Python
elements_to_bins = digitize(vals, bins)
wobei "vals" ist ein 2D-Array, das heißt:
vals = array([[1, v1], [2, v2], ...]).
elements_to_bins sagt genau das, was ist jedes Element in fällt. Was ich dann machen möchte, ist eine Liste, deren Länge die Anzahl der Bins in "Bins" ist, und jedes Element gibt die Y-Dimension von "Vals" zurück, die in diesen Bins fällt. Ich mache es jetzt so:
points_by_bins = []
for curr_bin in range(min(elements_to_bins), max(elements_to_bins) + 1):
curr_indx = where(elements_to_bins == curr_bin)[0]
curr_bin_vals = vals[:, curr_indx]
points_by_bins.append(curr_bin_vals)
gibt es eine elegantere/einfachere Möglichkeit, dies zu tun? Alles, was ich brauche, ist eine Liste von Listen der y-Werte, die in jede Klasse fallen.
danke.
Wenn eine der Antworten Ihr Problem gelöst hat, markieren Sie es als akzeptiert (grünes Häkchen)! :) – EOL