如何复制在Numpy

时间:2014-09-14 06:52:48

标签: python numpy

链接

http://scipy-lectures.github.io/advanced/advanced_numpy/

有陈述,

没有办法表示给定一个步幅的数组c和一个用于a的内存块。因此,重塑操作需要在此复制。

这个副本如何在numpy中运行?什么是时间复杂度? numpy怎么知道进一步的数组不能使用相同的数组表示?

1 个答案:

答案 0 :(得分:1)

如果您有一个数组的两个维度,其中包含形状sh0sh1以及步幅st0st1,那么您希望合并为单个维度的形状sh0*sh1,能够在没有副本的情况下执行此操作的条件是st0 == sh1*st1。请注意,尺寸在形状中出现的顺序是相关的,并且在具有正步幅的C阶数组中,尺寸0位于尺寸1之前。

可能存在需要更精细分析的情况,如果你有Fortran指令数组或者负步幅,那么将哪个步幅和形状乘以比较哪个步幅,但基本前提仍然大致相同。