加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 10:33:55 所属栏目:Python 来源:网络整理
导读:几个例子: 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)返回一个已排序的副本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读