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