ndarray.transpose和numpy.transpose有什么区别?在哪种情况下,我们必须选择哪一种?有没有这样一种情况,上面只有一种是可行的?
我已经看过了文档,根据我的理解,numpy.transpose会尽可能地返回一个视图。而ndarray.transpose总是返回一个视图。
如果有人能给我一些例子,上面只有一个是很适合的,那就太好了。
发布于 2020-03-08 05:53:14
np.transpose的代码是:
def transpose(a, axes=None):
return _wrapfunc(a, 'transpose', axes)这实际上就是:
np.asarray(a).transpose(axes)也就是说,创建一个无拷贝数组并应用该方法。
如果a已经是一个数组,那么这两种方法本质上是相同的。无论哪种方式,transpose都是一个低成本的操作,只是更改了shape和strides属性。使用曾经使你的代码最清晰的(即人类可读的)。
https://stackoverflow.com/questions/60582046
复制相似问题