当前位置 : 主页 > 编程语言 > python >

python – 为什么numpy有许多ndarray方法的相应函数?

来源:互联网 收集:自由互联 发布时间:2021-06-25
几个例子: numpy.sum()ndarray.sum()numpy.amax()ndarray.max()numpy.dot()ndarray.dot() ……还有更多.它是支持一些遗留代码,还是有更好的理由?而且,我是根据我的代码“看起来”的方式选择的,还是两种
几个例子:

numpy.sum()
ndarray.sum()
numpy.amax()
ndarray.max()
numpy.dot()
ndarray.dot()

……还有更多.它是支持一些遗留代码,还是有更好的理由?而且,我是根据我的代码“看起来”的方式选择的,还是两种方式中的一种比另一种更好?

我可以想象一个人可能希望numpy.dot()使用reduce(例如,reduce(numpy.dot,A,B,C,D))但我不认为这对numpy.sum这样的东西有用. ().

正如其他人所指出的那样,同名的NumPy函数和数组方法通常是等价的(它们最终会调用相同的底层代码).如果它使阅读更容易,则可能优先于另一个.

但是,在某些情况下,两者的行为略有不同.特别是,使用ndarray方法有时会强调该方法正在修改数组的事实.

例如,np.resize返回具有指定形状的新数组.另一方面,ndarray.resize就地改变了阵列的形状.每种情况下使用的填充值也不同.

类似地,a.sort()就地对数组进行排序,而np.sort(a)返回一个已排序的副本.

网友评论