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