Annie Analyst一直在使用大型嵌套记录数组来表示 她的统计数据。
是否可以使用没有dtype = object的嵌套记录数组?如果是这样,怎么样?
答案 0 :(得分:3)
是的,就像这样:
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])
np.dtype
函数在这里并不是绝对必要的,但它通常是一个好主意,并且每次让array
调用它时会提高速度。
请注意,rec.array
仅在此处使用.engine
表示法。如果您使用普通np.array
,那么您将使用cars['engine']['cylinders']
答案 1 :(得分:-1)
您可以像构造嵌套列表一样构造嵌套数组:
nested_list = [['a',1],['b',2],['c',3]]
import numpy as np
nested_array = np.array(nested_list)