【发布时间】:2015-09-04 12:18:38
【问题描述】:
当我使用 resize 方法收缩一个 numpy 数组时(即,由于resize,数组变小了),是否保证不复制?
例子:
a = np.arange(10) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a.resize(5, refcheck=False) # array([0, 1, 2, 3, 4])
据我了解,这应该始终可以在不制作副本的情况下进行。我的问题:实施是否确实保证总是如此?不幸的是,resize 的文档对此只字未提。
【问题讨论】:
-
如果你的新尺寸总是变小,为什么不将数组切片并分配给你自己呢?
-
@EdChum:你的意思是
a = a[:5]?老实说,我没有想到这个选项。不过,我不知道切片在内部是如何工作的。如果没有在某处制作数据副本,这是否可行?