【问题标题】:How copy take place in Numpy如何在 Numpy 中进行复制
【发布时间】:2014-09-14 06:52:47
【问题描述】:

在链接上

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

有说法,

没有办法表示给定一个步幅的数组 c 和 a 的内存块。所以reshape操作需要在这里进行复制。

这个副本如何在 numpy 中工作?那是什么时间复杂度? numpy 如何了解无法使用相同数组表示的进一步数组?

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    如果你有一个数组的两个维度,形状为sh0sh1,步幅为st0st1,你想合并成一个维度的形状sh0*sh1,条件是能够在没有副本的情况下这样做是st0 == sh1*st1。请注意,形状中维度出现的顺序是相关的,并且在具有正步长的 C 顺序数组中,维度 0 位于维度 1 之前。

    可能存在需要更精细分析的情况,关于要乘以哪个步幅和形状以与哪个步幅进行比较(如果您有 Fortran 顺序数组或负步幅),但基本前提仍然大致相同。

    【讨论】:

    • numpy 如何知道进一步的映射是不可能的,现在将数据复制到另一个数组中?
    猜你喜欢
    • 1970-01-01
    • 2013-01-28
    • 2020-12-13
    • 2015-07-12
    • 2015-09-23
    • 2013-08-30
    • 2014-09-05
    • 2016-06-05
    • 1970-01-01
    相关资源
    最近更新 更多