作为一个最小的工作示例,让我们数字化2D数组。numpy.digitize
需要一维数组:
import numpy as np
N = 200
A = np.random.random((N, N))
X = np.linspace(0, 1, 20)
print np.digitize(A.ravel(), X).reshape((N, N))
现在文档说:
...仅在需要时制作副本。
ravel
在这种情况下,我如何知道是否需要复制?总的来说,有什么方法可以确定某个特定操作是创建副本还是创建视图?
tr = np.array(a.T, copy=True)