numpy.lib.stride_tricks.as_strided#
- lib.stride_tricks.as_strided(x, shape=None, strides=None, subok=False, writeable=True)[原始碼]#
使用給定的形狀和步幅建立陣列的視圖。
警告
此函數必須極其小心地使用,請參閱註解。
- 參數:
- xndarray
要建立新陣列的陣列。
- shape整數序列,選用
新陣列的形狀。預設為
x.shape
。- strides整數序列,選用
新陣列的步幅。預設為
x.strides
。- subok布林值,選用
若為 True,則保留子類別。
- writeable布林值,選用
若設定為 False,則回傳的陣列將永遠是唯讀的。否則,如果原始陣列是可寫入的,則它將是可寫入的。如果可能,建議將此設定為 False(請參閱註解)。
- 回傳值:
- viewndarray
另請參閱
broadcast_to
將陣列廣播到給定的形狀。
reshape
重塑陣列。
lib.stride_tricks.sliding_window_view
用於建立滑動視窗視圖的使用者友善且安全的函數。
註解
as_strided
根據確切的步幅和形狀建立陣列的視圖。這表示它會操作 ndarray 的內部資料結構,如果操作不當,陣列元素可能會指向無效的記憶體,並可能損壞結果或使您的程式崩潰。建議在計算新步幅時始終使用原始的x.strides
,以避免依賴連續的記憶體佈局。此外,使用此函數建立的陣列通常包含自我重疊的記憶體,因此兩個元素是相同的。對此類陣列進行向量化寫入操作通常是不可預測的。它們甚至可能為小型、大型或轉置陣列提供不同的結果。
由於必須測試並非常小心地完成對這些陣列的寫入,因此您可能希望使用
writeable=False
以避免意外的寫入操作。由於這些原因,建議盡可能避免使用
as_strided
。