numpy.dtype.metadata

属性

dtype.metadata

要么 None 或只读元数据字典(mappingproxy)。

元数据字段可以在创建数据类型时使用任何字典进行设置。NumPy目前没有统一的方法来传播元数据;尽管一些数组操作保留了元数据,但不能保证其他操作会保留元数据。

警告

尽管在某些项目中使用了此功能,但此功能长期以来一直没有文档记录,并且没有得到很好的支持。元数据传播的某些方面在未来可能会发生变化。

实例

>>> dt = np.dtype(float, metadata={"key": "value"})
>>> dt.metadata["key"]
'value'
>>> arr = np.array([1, 2, 3], dtype=dt)
>>> arr.dtype.metadata
mappingproxy({'key': 'value'})

添加具有相同数据类型的数组当前会保留元数据:

>>> (arr + arr).dtype.metadata
mappingproxy({'key': 'value'})

但如果数组具有不同的数据类型元数据,则可能会删除元数据:

>>> dt2 = np.dtype(float, metadata={"key2": "value2"})
>>> arr2 = np.array([3, 2, 1], dtype=dt2)
>>> (arr + arr2).dtype.metadata is None
True  # The metadata field is cleared so None is returned