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