我正在学习numpy软件包,并且找到了以下代码示例:
import numpy as np
a = np.array([[1,2,3], [4,5,6]])
np.add.reduce(a)
我无法理解的是点符号:
np.add.reduce(a)
例如,与之相反
np.add(a,5)
我了解加法和减法是什么,但是加法是什么?什么是还原?
答案 0 :(得分:1)
“减少”是一个通用概念,我在https://docs.python.org/3/library/functools.html#functools.reduce
上找到了一个不错的定义将两个参数的函数从左到右累计应用于序列项,以将序列缩减为单个值。
Numpy的ufunc减少记录在https://docs.scipy.org/doc/numpy/reference/generated/numpy.ufunc.reduce.html
通过沿一个轴应用ufunc,将尺寸减小1。
因此np.add.reduce(a)
(也称为np.add.reduce(a, axis=0)
)将在np.add
和a[0]
上调用a[1]
,然后将结果添加到a[2]
,直到包含所有len(a)
元素。
结果:array([5, 7, 9])
np.add(x, y)
基本上是x + y
。 np.add.reduce(a, axis=0)
基本上是np.sum(a, axis=0)
。
np.add.reduce(a, axis=1)
将a[:, 0]
添加到a[:, 1]
,然后将结果添加到a[:, 2]
,依此类推。
结果:array([ 6, 15])