我有以下数据结构:
N=100
TB = {'names':('n', 'D'),'formats':(int, int)}
TA = {'names':('id', 'B'),'formats':(int, dtype((TB, (N))))}
a = np.empty(1000, dtype=TA)
b = np.empty(N, dtype=TB)
其中 a 是具有两个字段的结构化数组:“id”和“B”。在“B”中,存储了另一个具有“n”和 D 字段的结构化数组,例如
for i in range(0,1000):
a['B'][i] = b
执行上述赋值时,将 b 中的数据复制到 a。有没有办法只复制对 b 的引用,这样当我更改 b 时,更改会反映在 中a['B'][i]
?我想要的是将指向 b 的指针存储在 a 中,因为我不需要创建副本,因为 b 中的数据对于 a 的每一行都是相同的。
我累了
TA = {'names':('id', 'B'),'formats':(int, object)}
它可以工作,但会破坏数组的嵌套结构。有没有办法保留结构化数组功能,例如a['B']['D']
谢谢