numpy不规则跨步阵列

时间:2014-07-25 02:41:56

标签: python arrays numpy

在内存中引用numpy数组结构上的documentation

  

NumPy中的几种算法适用于任意跨步阵列。   但是,某些算法需要单段数组。当一个   不规则跨步数组传递给这样的算法,副本是   自动制作。

什么是不规则跨度阵列?

这是--- numpy.array([[1], [1,2]])吗?如果不是,请提供一个例子。

1 个答案:

答案 0 :(得分:5)

例如:

>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = a[::2]
>>> b
array([0, 2, 4, 6, 8])

a是一个单段数组,所有数据在一个连续的内存块中紧密排列。另一方面,b是对同一个内存的视图,其中步长是元素大小的两倍,跳过奇数整数的内存位置。

作为需要单段数组的函数之一,如果执行np.sort(b),它将首先必须将这些块复制到连续的内存块,然后再实际进行实际排序。