如何自动生成numpy dtype?

时间:2012-08-23 07:55:39

标签: python numpy

我有多个数组名为

的数组
   Level1
   Level2
   Level3
   .
   .

等。每个数组有4个columsn和任意数量的行。列名称的格式为

 AP%i BP%i AS%i BS%i

其中%i对应于数组名称中的相应索引(例如Level1 -> AP01 BP01 AS01 BS01)。如何创建一个具有正确列名的数组的dtype,其中列名是变量?

1 个答案:

答案 0 :(得分:1)

您可以使用类似的东西动态生成所需的dtypes:

for i in xrange(1, N+1): # N is number of arrays
    arr = globals()['Level%i' % i] # this gets the Level<X> value for each i
    arr.dtype = [('AP%02i' % i,float), ('BP%02i' % i, float), ('AS%02i' % i, float), ('BS%02i' % i, float)]
# example
print Level1[0]['AP01']

请记住根据您实际拥有的数据类型调整dtype中的类型。