嘿,伙计们,我想知道在Python/NuMPy中获得“n”矩阵的最大值的最佳方法。
例如:

import numpy as np
matrices=[np.random.random((5,5)) for i in range(10)]
# the function np.maximum from numpy only works for two matrices.
max_matrix=np.maximum(matrices[0],matrices[1])
max_matrix=np.maximum(*matrices) # <- error

你将如何克服这个问题?

最佳答案

使用reduce

reduce(np.maximum, matrices)

docs开始:
reduce(函数,iterable[,初始值设定项])
将两个参数的函数累加应用于iterable的项,
从左到右,以便将iterable减少为单个值。
例如,reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])计算
((((1+2)+3)+4)+5)左参数x是累积值,并且
右参数y是iterable的更新值如果
存在可选的初始值设定项,它放在
在计算中为iterable,当iterable
是空的如果未给定初始值设定项且iterable仅包含一个
项,返回第一个项。

10-07 19:21
查看更多