为什么numpy对许多ndarray方法都有相应的功能?

发布于 2021-01-29 18:37:33

一些例子:

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

…还有更多。它是否支持某些旧代码,还是有更好的理由?而且,我是仅根据代码的“外观”进行选择,还是两种方法中的一种优于另一种?

我可以想象有人可能想要numpy.dot()使用reduce(例如reduce(numpy.dot, A, B, C, D)),但是我认为这对于像那样有用numpy.sum()

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    正如其他人所指出的,同名的NumPy函数和数组方法通常是等效的(它们最终会调用相同的基础代码)。如果这样可以使阅读更容易,则它可能比另一个更可取。

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

    例如,np.resize返回具有指定形状的

    数组。另一方面,ndarray.resize就地更改数组的形状。每种情况下使用的填充值也不同。

    同样,a.sort()对数组a进行原位np.sort(a)排序,同时返回排序后的副本。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看