numpy.dtype.metadata#

属性

dtype.metadata#

要么 None ,要么是一个只读的元数据字典(mappingproxy).

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

警告

尽管在某些项目中使用,这个功能长期以来没有文档记录,并且支持不佳.未来可能会改变某些元数据传播的方面.

示例

>>> import numpy as np
>>> 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'})

但是如果数组具有不同的 dtype 元数据,元数据可能会被丢弃:

>>> 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