我有两个矩阵
A = array([[ 12., 0.],[ 0., 4.]])
B = array([[ 13., 5.],[ -1., -5.]])
我希望得到第三个元素,其元素对应于前一个矩阵的最大值。例如,我想生产像
这样的东西C = array([[ 13., 5.],[ 0., 4.]])
我可以做任何矢量操作来加快结果吗?
答案 0 :(得分:2)
使用numpy.maximum
。
>>> np.maximum(A, B)
array([[ 13., 5.],
[ 0., 4.]])
答案 1 :(得分:1)
使用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(condition,[returnvalue if true,returnvalue if false]) 如果未传递可选的返回参数,则将获得一个包含条件为真的索引的数组。