本文簡要介紹 python 語言中 numpy.recarray.setflags
的用法。
用法:
recarray.setflags(write=None, align=None, uic=None)
分別設置數組標誌 WRITEABLE、ALIGNED、(WRITEBACKIFCOPY 和 UPDATEIFCOPY)。
這些布爾值標誌會影響 numpy 如何解釋 a 使用的內存區域(請參閱下麵的注釋)。如果數據實際上是根據類型對齊的,則 ALIGNED 標誌隻能設置為 True。 WRITEBACKIFCOPY 和(不推薦使用的)UPDATEIFCOPY 標誌永遠不能設置為 True。如果數組擁有自己的內存,或者內存的最終所有者公開了可寫緩衝區接口,或者是字符串,則標誌 WRITEABLE 隻能設置為 True。 (string 的例外是為了在不複製內存的情況下進行 unpickling。)
- write: 布爾型,可選
說明是否可以寫入 a。
- align: 布爾型,可選
說明 a 是否與其類型正確對齊。
- uic: 布爾型,可選
說明 a 是否是另一個 “base” 數組的副本。
參數:
注意:
數組標誌提供有關如何解釋用於數組的內存區域的信息。有 7 個布爾標誌在使用中,其中隻有四個可以由用戶更改:WRITEBACKIFCOPY、UPDATEIFCOPY、WRITEABLE 和 ALIGNED。
WRITEABLE (W) 數據區可寫;
對齊 (A) 數據和步幅針對硬件適當對齊(由編譯器確定);
UPDATEIFCOPY (U)(已棄用),替換為 WRITEBACKIFCOPY;
WRITEBACKIFCOPY (X) 該數組是某個其他數組(由 .base 引用)的副本。當調用C-API 函數PyArray_ResolveWritebackIfCopy 時,將使用該數組的內容更新基本數組。
可以使用單個(大寫)字母和全名訪問所有標誌。
例子:
>>> y = np.array([[3, 1, 7], ... [2, 0, 0], ... [8, 5, 9]]) >>> y array([[3, 1, 7], [2, 0, 0], [8, 5, 9]]) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(write=0, align=0) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : False ALIGNED : False WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(uic=1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot set WRITEBACKIFCOPY flag to True
相關用法
- Python numpy recarray.setfield用法及代碼示例
- Python numpy recarray.sort用法及代碼示例
- Python numpy recarray.size用法及代碼示例
- Python numpy recarray.strides用法及代碼示例
- Python numpy recarray.dot用法及代碼示例
- Python numpy recarray.itemset用法及代碼示例
- Python numpy recarray.view用法及代碼示例
- Python numpy recarray.tolist用法及代碼示例
- Python numpy recarray.flat用法及代碼示例
- Python numpy recarray.astype用法及代碼示例
- Python numpy recarray.itemsize用法及代碼示例
- Python numpy recarray.tostring用法及代碼示例
- Python numpy recarray.flatten用法及代碼示例
- Python numpy recarray.item用法及代碼示例
- Python numpy recarray.getfield用法及代碼示例
- Python numpy recarray.ndim用法及代碼示例
- Python numpy recarray.byteswap用法及代碼示例
- Python numpy recarray.T用法及代碼示例
- Python numpy recarray.nbytes用法及代碼示例
- Python numpy recarray.fill用法及代碼示例
- Python numpy recarray.resize用法及代碼示例
- Python numpy recarray.copy用法及代碼示例
- Python numpy recarray.newbyteorder用法及代碼示例
- Python numpy recarray.transpose用法及代碼示例
- Python numpy recarray.partition用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.recarray.setflags。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。