【发布时间】:2017-03-07 18:00:00
【问题描述】:
我想使用 numpy.dtype() 对象构造一个具有各种不同数据类型的 numpy-array。
我有一个字典“mydict”,其中存储了有关数据的所有信息,我想用它创建一个数据类型对象dt。 'mydict' 是根据我选择的属性动态创建的,并且数据类型也对应于属性!
import numpy as np
mydict={'name0': 'mass', 'name1': 'position', 'name2': 'ID',
'format0': np.float32, 'format1': np.int8, 'format2': np.uint64}
数据类型对象dt 应如下所示
dt = np.dtype([('mass', np.float32), ('position', np.int8), ('ID', np.uint64)])
我的问题是如何创建dt 而无需手动构建/写入代码?
主要问题是我不知道如何在 np.dtype() 后面加上另一个“名称”和“格式”组合的条目,或者即使有可能......
我正在使用 dt 然后将我的数据读入这样的 numpy 数组!
data_array=np.array((nr_rows, nr_cols)), dtype=dt)
我尝试使用 Dict Comprehensions、列表和字典进行某些尝试,但我找不到正确的方法。
【问题讨论】:
-
你从哪里得到
dict?您可能希望在构建它时考虑到您想要的dtype,这样您就不必重新构建它。 -
@Psidom:嗨,是的,我想这样做,这个字典只是一个例子!
-
dict的键是否遵循您所显示的模式?name[0-9]和format[0-9]. -
@Psidom:没错!
标签: python arrays numpy dictionary