numpy.ma.fromflex#
- ma.fromflex(fxarray)[原始碼]#
從合適的彈性型別陣列建立遮罩陣列。
輸入陣列必須具有帶有
_data
和_mask
欄位的資料型別。此類型的陣列由MaskedArray.toflex
輸出。- 參數:
- fxarrayndarray
結構化的輸入陣列,包含
_data
和_mask
欄位。如果存在其他欄位,則會捨棄。
- 回傳值:
- resultMaskedArray
建構的遮罩陣列。
參見
MaskedArray.toflex
從遮罩陣列建立彈性型別陣列。
範例
>>> import numpy as np >>> x = np.ma.array(np.arange(9).reshape(3, 3), mask=[0] + [1, 0] * 4) >>> rec = x.toflex() >>> rec array([[(0, False), (1, True), (2, False)], [(3, True), (4, False), (5, True)], [(6, False), (7, True), (8, False)]], dtype=[('_data', '<i8'), ('_mask', '?')]) >>> x2 = np.ma.fromflex(rec) >>> x2 masked_array( data=[[0, --, 2], [--, 4, --], [6, --, 8]], mask=[[False, True, False], [ True, False, True], [False, True, False]], fill_value=999999)
額外的欄位可以存在於結構化陣列中,但會被捨棄
>>> dt = [('_data', '<i4'), ('_mask', '|b1'), ('field3', '<f4')] >>> rec2 = np.zeros((2, 2), dtype=dt) >>> rec2 array([[(0, False, 0.), (0, False, 0.)], [(0, False, 0.), (0, False, 0.)]], dtype=[('_data', '<i4'), ('_mask', '?'), ('field3', '<f4')]) >>> y = np.ma.fromflex(rec2) >>> y masked_array( data=[[0, 0], [0, 0]], mask=[[False, False], [False, False]], fill_value=np.int64(999999), dtype=int32)