在numpy结构化数组中存储列的单位信息的最佳方法是什么?

我在这里试过这个,根据http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html

字段名称也可以是2元组的字符串,其中第一个字符串是“标题”(可以是任何字符串或unicode字符串)或字段的元数据,可以是任何对象,第二个字符串是“name”必须是有效的Python标识符。

但是如何访问/读取此元数据?

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)

===============>>#1 票数:1

如果我理解你在寻找什么,你想要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'

您使用此单元元数据的方法对我来说很有意义。 请注意,dtype还有一个“名称”元组,只有字段名称(没有单位)。

===============>>#2 票数:0

你可能想看看品脱

在文档中,它表示其中一个功能:

NumPy集成:当您选择使用NumPy ndarray时,支持其方法和ufunc,包括自动转换单位。 例如,numpy.arccos(q)将需要无量纲q,输出量的单位将是弧度。

  ask by jackson translate from so

未解决问题?本站智能推荐:

1回复

1.16.0中结构化到非结构化的numpy数组转换失败

我想将具有相同(np.float)类型的列的NumPy结构化数组转换为Numpy 1.16.0中的非结构化数组。 以前我是这样的: 在1.16.0中, numpy.lib.recfunctions出现了structured_to_unstructured到numpy.lib.rec
1回复

numpy结构化数组的形状

我正在尝试预分配一个空数组,并同时使用以下代码定义大小为19x5的数据类型: 结果有些出乎意料,产生了19 * 5 * 5的数组。 但是,尝试: 给出每行适当的长度(5个字段),看起来像一维数组。 当我尝试编写此代码时,仅允许使用以下格式: 这告诉我我正在处理单个
3回复

Numpy:加入结构化数组?

输入 我在列表中有许多numpy结构化数组 ,如下例所示: 期望的输出 将它们连接在一起以创建如下所示的统一结构化数组的正确方法是什么? 目前的方法 这是我目前正在使用的,但它非常慢,所以我怀疑必须有一个更有效的方式。
1回复

模拟Numpy结构化数组

我试图弄清楚如何模拟一个numpy结构化数组,但运气不佳。 理想情况下,我想做这样的事情: 我知道如何使用side_effect模拟单个字典,但是还没有弄清楚如何为任意的嵌套__getitem__或__setitem__函数实现该功能。 编辑: 这里是一些上下文:
1回复

使用NumPy结构化数组

我正在使用具有以下结构的NumPy结构化数组: 提取特定值“ bar”的“ foo”字段的有效方法是什么? 例如,我想将'bar'为0的所有'foo'值存储在数组中: 上面的方法不起作用。
2回复

numpy的结构化数组的ndim?

这与用scipy.io.loadmat加载的numpy数组中的ndim措辞类似。 -但实际上要基本得多。 说我有这个结构化的数组: import sys import numpy as np from pprint import pprint a = np.array([(1.5,2
1回复

numpy数组作为结构化数组中的数据类型?

我想知道是否有可能将numpy.array作为结构化数组中的数据类型。 这是个主意: 我有一个由整数和数组组成的元组列表,想将其转换为结构化数组。 现在,Python抱怨它不理解'numpy.array'数据类型。 还有另一种引用数组数据类型的方法吗? 背后的动机是能够做类似
2回复

将字段添加到结构化的numpy数组中

将字段添加到结构化numpy数组的最简洁方法是什么? 它可以破坏性地完成,还是需要创建一个新的数组并复制现有的字段? 每个字段的内容是否连续存储在内存中,以便可以有效地完成这种复制?
1回复

numpy中结构化数组的元素总和

我想知道是否有可能执行两个相同形状的结构化numpy数组的元素和(或其他操作)。 说“ufunc'add'不包含带有签名匹配类型的循环dtype([('x',' 如果不可能,那么理解为什么在numpy中实现这是不可能或不切实际的将是很好的。
1回复

访问Numpy结构化数组中的元素

我遇到以下情况,我想执行以下操作: 这行不通,但是我发现了使用exec函数的解决方法,但感觉很hacky。 有人对如何以编程方式为嵌套的结构化numpy数据类型创建索引有任何建议吗? 谢谢