включает в себя максимум против ктаху против максимум
numpy имеет три разных функции, которые, похоже, могут быть использованы для одних и тех же вещей --- за исключением того, что numpy.maximum можете только использовать элементарно, в то время как numpy.max и numpy.amax может использоваться на определенных осях или на всех элементах. Почему есть больше, чем просто numpy.max? Есть ли в этом какая-то тонкость в исполнении?
(аналогично для min и amin и minimum)
2 ответов:
np.max- это просто псевдоним дляnp.amax. Эта функция работает только на один входной массив и находит значение максимального элемента во всем этом массиве (возвращая скаляр). Кроме того, он принимаетaxisаргумент и найдет максимальное значение вдоль оси входного массива (возвращая новый массив).>>> a = np.array([[0, 1, 6], [2, 4, 1]]) >>> np.max(a) 6 >>> np.max(a, axis=0) # max of each column array([2, 4, 6])по умолчанию
np.maximumвзять два массивы и вычислить их поэлементно максимум. Здесь, "совместимый" означает, что один массив может быть передан другому. Например:>>> b = np.array([3, 6, 1]) >>> c = np.array([4, 2, 9]) >>> np.maximum(b, c) array([4, 6, 9])но
np.maximumтоже универсальная функция что означает, что он имеет и другие функции, и методы, которые пригодятся при работе с многомерными массивами. Например, вы можете вычислить кумулятивный максимум по массиву (или определенной оси массива):>>> d = np.array([2, 0, 3, -4, -2, 7, 9]) >>> np.maximum.accumulate(d) array([2, 2, 3, 3, 3, 7, 9])это невозможно с
np.max.можно сделать
np.maximumподражатьnp.maxв в определенной степени при использованииnp.maximum.reduce:>>> np.maximum.reduce(d) 9 >>> np.max(d) 9базовое тестирование предполагает, что эти два подхода сопоставимы по производительности.
вы уже сказали почему
np.maximumотличается-он возвращает массив, который является поэлементным максимумом между двумя массивами.как
np.amaxиnp.max: Они оба называют одну и ту же функцию -np.max- это просто псевдоним дляnp.amax, и они вычисляют максимум всех элементов в массиве или вдоль оси массива.In [1]: import numpy as np In [2]: np.amax Out[2]: <function numpy.core.fromnumeric.amax> In [3]: np.max Out[3]: <function numpy.core.fromnumeric.amax>
Comments