通過在向量的每個元素和整個向量之間執行操作來生成陣列的“最佳”方法是什么?
下面的示例使用回圈和減法作為運算,但在一般情況下,運算可以是任何函式。
“最佳”的標準可能是:執行速度、所需代碼量、可讀性
a = np.array([1, 2, 3])
dim = len(a)
b = np.empty([dim, dim])
def operation(x1, x2):
return x1-x2
for i in range(dim):
b[i,:] = operation(a, a[i])
print(b)
uj5u.com熱心網友回復:
我認為 numpy 廣播將滿足您的所有標準;)
>>> a - a[:, None]
array([[ 0, 1, 2],
[-1, 0, 1],
[-2, -1, 0]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/448667.html
上一篇:從密度分布中采樣隨機值
