我有 anxn 数组,想接收它的轮廓值。例如,
[4,5,6,7]
[2 ,2,6, 3]
[4 ,4,9, 4]
[8,1,6,1]
从这个,我会得到这个
[4,5,6,7,3,4,1,6,1,8,4,2]
Run Code Online (Sandbox Code Playgroud)
(看哪里加粗)
因此,从本质上讲,获取围绕二维数组边缘的所有值的一维数组的最有效方法是什么?我问是因为我假设有一个 numPy 函数可以帮助解决这个问题(我还没有找到!),而不是用循环手动完成?
我不明白为什么还没有进行如此基本的优化:
In [1]: %timeit np.ones(10**6).any()
100 loops, best of 3: 7.32 ms per loop
In [2]: %timeit np.ones(10**7).any()
10 loops, best of 3: 59.7 ms per loop
Run Code Online (Sandbox Code Playgroud)
即使结论是第一项的证据,也扫描整个阵列.