z有沒有一種不使用循環(huán)來計算數組的 Pythonic 方法?import numpy as npx = np.array([[1, 2, 3], [6, 7, 8]])y = np.array([5, 8])z = np.array([x[i] * y[i] for i in range(0, len(x))])
2 回答

白衣染霜花
TA貢獻1796條經驗 獲得超10個贊
你可以做:
x * np.expand_dims(y, 1)
expand_dims
當乘以 (shape 2×3) 時,乘法將根據需要廣播 ( x
shape 2×1 )的結果。
結果:
array([[ 5, 10, 15], [48, 56, 64]])

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
您將需要適當的暗淡y(shape ) 與(shape )2,1相乘,這里有一些其他方法可以將單個額外的暗淡添加到x2,3y
x * y[:, None]
array([[ 5, 10, 15],
[48, 56, 64]])
x * y[:, np.newaxis]
array([[ 5, 10, 15],
[48, 56, 64]])
添加回答
舉報
0/150
提交
取消