Ja, etwa so:
engine_dt = np.dtype([('volume', float), ('cylinders', int)])
car_dt = np.dtype([('color', int, 3), ('engine', engine_dt)]) # nest the dtypes
cars = np.rec.array([
([255, 0, 0], (1.5, 8)),
([255, 0, 255], (5, 24)),
], dtype=car_dt)
print(cars.engine.cylinders)
# array([ 8, 24])
Die np.dtype
Funktion hier nicht unbedingt notwendig ist, aber es ist in der Regel ein gute Idee, und gibt einen kleinen Speed-Boost über array
lassen Sie es jedes Mal anrufen.
Beachten Sie, dass rec.array
hier nur erforderlich ist, um die Notation .engine
zu verwenden. Wenn Sie eine einfache np.array
verwenden, dann würden Sie verwenden cars['engine']['cylinders']
Ist https://stackoverflow.com/questions/19201868/how-to-set-dtype-for-nested-numpy-ndarray Ihre Frage beantworten? – Eric