numpy.broadcast_arrays#
- numpy.broadcast_arrays(*args, subok=False)[source]#
將任意數量的陣列互相廣播。
- 參數:
- *argsarray_likes
要廣播的陣列。
- subokbool, 可選
如果為 True,則子類別將會被傳遞,否則返回的陣列將強制為基底類別陣列(預設)。
- 返回:
- broadcasted陣列元組
這些陣列是原始陣列的視圖。它們通常不是連續的。此外,廣播陣列的多個元素可能指向單一記憶體位置。如果您需要寫入陣列,請先複製。雖然您可以將
writable
旗標設定為 True,但寫入單一輸出值最終可能會更改輸出陣列中的多個位置。版本 1.17 中棄用: 目前已標記輸出,以便在寫入時發出棄用警告。未來版本將把
writable
旗標設定為 False,因此寫入它會引發錯誤。
範例
>>> import numpy as np >>> x = np.array([[1,2,3]]) >>> y = np.array([[4],[5]]) >>> np.broadcast_arrays(x, y) (array([[1, 2, 3], [1, 2, 3]]), array([[4, 4, 4], [5, 5, 5]]))
以下是一種有用的慣用語,用於取得連續副本而不是非連續視圖。
>>> [np.array(a) for a in np.broadcast_arrays(x, y)] [array([[1, 2, 3], [1, 2, 3]]), array([[4, 4, 4], [5, 5, 5]])]