Python 在numpy结构化阵列中存储单元信息的最佳方法?
在numpy结构化数组中存储列的单位信息的最佳方式是什么 据报道,我在这里试过这个 字段名也可以是2元组字符串,其中第一个字符串是“标题”(可以是任何字符串或unicode字符串)或字段的元数据(可以是任何对象),第二个字符串是“名称”,必须是有效的Python标识符 但我如何访问/读取此元数据Python 在numpy结构化阵列中存储单元信息的最佳方法?,python,numpy,Python,Numpy,在numpy结构化数组中存储列的单位信息的最佳方式是什么 据报道,我在这里试过这个 字段名也可以是2元组字符串,其中第一个字符串是“标题”(可以是任何字符串或unicode字符串)或字段的元数据(可以是任何对象),第二个字符串是“名称”,必须是有效的Python标识符 但我如何访问/读取此元数据 import numpy as np dtype = np.dtype([ ('name', 'S64'), (('s', 'read_time'), 'uint16'), (
import numpy as np
dtype = np.dtype([
('name', 'S64'),
(('s', 'read_time'), 'uint16'),
(('us', 'read_latency'), 'float'),
(('B', 'read_data'), 'uint64'),
])
my_data = np.zeros(10, dtype=dtype)
如果我了解您要查找的内容,您需要数据类型的“descr”属性:
In [12]: my_data.dtype.descr
Out[12]:
[('name', '|S64'),
(('s', 'read_time'), '<u2'),
(('us', 'read_latency'), '<f8'),
(('B', 'read_data'), '<u8')]
In [13]: my_data.dtype.descr[1]
Out[13]: (('s', 'read_time'), '<u2')
In [14]: my_data.dtype.descr[1][0][0]
Out[14]: 's'
[12]中的:my_data.dtype.descr
出[12]:
[('name','S64'),
((‘s’、‘read_time’),’您可能想看看
在文档中,它表示为以下功能之一:
NumPy集成:当您选择使用NumPy ndarray时,它的方法
支持和UFUNC,包括单位的自动转换
例如numpy.arccos(q)将需要无量纲的q和单位
输出量的最大值为弧度
thx,我想我更喜欢fields属性,因为我可以使用列的名称:my_data.dtype.fields['read_latency'][-1]>>>“us”,该解决方案有一个问题:例如,如果添加另一个带有('s','write_time'),'uint16'的数据类型,
我得到一个值错误:两个同名的字段对结构化数组不起作用。品脱数量只支持每个数组一个单位,而在结构化数组中,你希望每个字段都有一个单位。它也不适用于像np.dot
这样的数组操作。我曾尝试跟进,但得到了no响应。这是一个死包吗?这个示例有点面向对象,因为您似乎存储的单位总是不同的。例如,如果您尝试使用秒而不是微秒来表示读取延迟,那么您的示例不起作用……因此,最初的问题很好,但示例没有指出足够的问题