Mic*_*l T 8 python arrays numpy max
我想组合两个numpy数组来生成一个数组,每个数组的值最大.
import numpy as np
a  = np.array([[ 0.,  0.,  0.5],
               [ 0.1,  0.5,  0.5],
               [ 0.1,  0.,  0.]])
b  = np.array([[ 0.,  0.,  0.0],
               [ 0.5,  0.1,  0.5],
               [ 0.5,  0.1,  0.]])
我想生产
array([[ 0.,  0.,  0.5],
       [ 0.5,  0.5,  0.5],
       [ 0.5,  0.1,  0.]])
我知道你能做到
a += b
结果
array([[ 0. ,  0. ,  0.5],
       [ 0.6,  0.6,  1. ],
       [ 0.6,  0.1,  0. ]])
这显然不是我追求的.这似乎是一个简单的问题,我认为最有可能.
您可以使用np.maximum来计算两个数组的元素最大值:
>>> np.maximum(a, b)
array([[ 0. ,  0. ,  0.5],
       [ 0.5,  0.5,  0.5],
       [ 0.5,  0.1,  0. ]])
这适用于任何两个数组,只要它们的形状相同,或者一个可以广播到另一个的形状。
要a就地修改数组,您可以将输出重定向np.maximum回a:
np.maximum(a, b, out=a)
还有np.minimum用于计算两个数组的元素最小值。
您正在寻找元素最大值.
例:
>>> np.maximum([2, 3, 4], [1, 5, 2])
array([2, 5, 4])
http://docs.scipy.org/doc/numpy/reference/generated/numpy.maximum.html
| 归档时间: | 
 | 
| 查看次数: | 955 次 | 
| 最近记录: |