编程语言
首页 > 编程语言> > python – 为什么numpy有许多ndarray方法的相应函数?

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

作者:互联网

几个例子:

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)返回一个已排序的副本.

标签:built-in,python,arrays,numpy,methods
来源: https://codeday.me/bug/20190919/1812285.html