0
我有兩個矩陣矩陣運算,最大值
A = array([[ 12., 0.],[ 0., 4.]])
B = array([[ 13., 5.],[ -1., -5.]])
,我想第三個它的元素對應的最大以前的矩陣。例如我想生產一些像
C = array([[ 13., 5.],[ 0., 4.]])
是否有任何矢量操作,我可以做,使結果更快?
我有兩個矩陣矩陣運算,最大值
A = array([[ 12., 0.],[ 0., 4.]])
B = array([[ 13., 5.],[ -1., -5.]])
,我想第三個它的元素對應的最大以前的矩陣。例如我想生產一些像
C = array([[ 13., 5.],[ 0., 4.]])
是否有任何矢量操作,我可以做,使結果更快?
使用numpy數組代替數組更容易。隨着numpy的數組你有np.where功能來解決這個問題:
import numpy as np
A = np.array([[ 12., 0.],[ 0., 4.]])
B = np.array([[ 13., 5.],[ -1., -5.]])
C = np.where(A>B,A,B)
>>> C
array([[ 13., 5.],
[ 0., 4.]])
的工作方式就像:np.where(條件,[如果屬實返回值,返回值,如果虛假]) 如果不通過可選的返回參數,您將獲得一個數組,其條件爲真的索引。
使用numpy.maximum
。
>>> np.maximum(A, B)
array([[ 13., 5.],
[ 0., 4.]])