numpy.dtype.metadata#

屬性

dtype.metadata#

可以是 None 或是 metadata 的唯讀字典 (mappingproxy)。

metadata 欄位可以在建立資料型態時使用任何字典設定。NumPy 目前沒有統一的方法來傳播 metadata;雖然某些陣列操作會保留它,但無法保證其他操作也會如此。

警告

雖然此功能已在某些專案中使用,但長期以來沒有文件記錄,且未獲得良好支援。metadata 傳播的某些方面預計在未來會發生變化。

範例

>>> 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'})

目前,添加具有相同資料型態的陣列會保留 metadata

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

但是,如果陣列具有不同的 dtype metadata,則 metadata 可能會被捨棄

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