Python Numpy结构化数组作为一个类来节省内存?

Python Numpy结构化数组作为一个类来节省内存?,python,numpy,Python,Numpy,我正在创建大量具有相同数据类型(包括列名)的numpy“结构化数组”(大约超过一百万个)。我假设如果我独立创建它们,我将浪费内存来存储每个实例的名称和数据类型。有没有办法只存储一次此信息,例如,创建一个类并在类中使用数据类型,而不是按每个数组实例存储它?创建一个二维结构化数组并保留一个行索引字典?这是一个非常抽象且难以回答的问题。如果我将数据类型设置为不可变的,结构化数组是否会简单地保留对数据类型的引用,而不是复制一个副本?与一个甚至只有几个元素的数组相比,数据类型的大小很可能可以忽略不计。据我

我正在创建大量具有相同数据类型(包括列名)的numpy“结构化数组”(大约超过一百万个)。我假设如果我独立创建它们,我将浪费内存来存储每个实例的名称和数据类型。有没有办法只存储一次此信息,例如,创建一个类并在类中使用数据类型,而不是按每个数组实例存储它?

创建一个二维结构化数组并保留一个行索引字典?这是一个非常抽象且难以回答的问题。如果我将数据类型设置为不可变的,结构化数组是否会简单地保留对数据类型的引用,而不是复制一个副本?与一个甚至只有几个元素的数组相比,数据类型的大小很可能可以忽略不计。据我所知,dtype对象是不可变的,所以我认为NumPy不应该复制它们,但无论如何,我不确定这应该是您的重点。。。每个数组都有更多的附加存储,如指针、形状等()。正如@roganjosh所指出的,单个数组和一些额外的索引结构可能更好,但问题是要给出更具体的建议,这个数据类型的字段数是多少?和典型的数组形状?@hpaulj-只有2个字段,一个无符号整数和一个浮点。典型的数组形状是这2个字段乘以10到100行创建一个二维结构化数组并保留一个行索引字典?这是一个非常抽象且难以回答的问题。如果我将数据类型设置为不可变的,结构化数组是否会简单地保留对数据类型的引用,而不是复制一个副本?与一个甚至只有几个元素的数组相比,数据类型的大小很可能可以忽略不计。据我所知,dtype对象是不可变的,所以我认为NumPy不应该复制它们,但无论如何,我不确定这应该是您的重点。。。每个数组都有更多的附加存储,如指针、形状等()。正如@roganjosh所指出的,单个数组和一些额外的索引结构可能更好,但问题是要给出更具体的建议,这个数据类型的字段数是多少?和典型的数组形状?@hpaulj-只有2个字段,一个无符号整数和一个浮点。典型的数组形状是这两个字段乘以10到100行