下面的代码用结构化的dtype构造数组
import numpy as np
arr = np.zeros(3, dtype=[('a', 'i4'), ('b', bool)]).view(np.recarray)
x = arr[0]
字符串x
的类型是np.record
,我可以使用x.a
和x.b
来访问它的类型。
如何直接构造一个类似的np.record
对象(不先创建recarray
),并使其值为(3, True)
?np.record
函数的文档中没有足够的信息。
2条答案
按热度按时间kmbjn2e31#
这使得单个元素,()形状,结构化数组:
字符串
按名称访问字段:
型
该元素可以通过
[()]
索引访问。arr.item()
产生一个元组。型
要重新排列,请使用
view
。或者np.recarray(...)
,但这更像是使用np.empty
:型
现在元素是
record
:型
数组和记录都可以使用
.a
属性(['a']
仍然有效):型
我不确定
recarray
层是否为结构化阵列功能增加了很多功能。这感觉就像一个遗留功能。编辑
型
vjhs03f72#
要创建您要查找的对象,您只需将值和dtype传递给
np.record
构造函数:字符串
如果你想使用数组,而不是用
np.zeros()
初始化数组,你可以使用np.full()
。这将提供您正在寻找的输出:型