Ich habe eine Reihe von benutzerdefinierten Objekten. Wie kann ich ein neues Array mit den Werten bestimmter Attribute dieser Objekte erhalten?Zugreifen auf Eigenschaften von Objekten in einem numplien Array
Beispiel:
import numpy as np
class Pos():
def __init__(self, x, y):
self.x = x
self.y = y
arr = np.array([ Pos(0,1), Pos(2,3), Pos(4,5) ])
# Magic line
xy_arr = .... # arr[ [arr.x,arr.y] ]
print xy_arr
# array([[0,1],
[2,3],
[4,5]])
Ich möchte hinzufügen, dass meine Motive für eine solche Operation ist das Zentrum der Masse der Objekte in dem Array zu berechnen.
Gibt es einen Grund, warum Sie Arrays dafür verwenden? Dies ist nicht wirklich, wie numpy Arrays verwendet werden sollen, und ihre Verwendung ist normalerweise mühsamer und langsamer als die Verwendung von Python-Listen. –
Ich benutzte ein Array für seine Indizierung. Ich habe float-Array 'A' mit der gleichen Form wie 'arr' und muss Elemente aus' arr' basierend auf einem Schwellenwert in 'A' auswählen – ajwood