尽管通过列表方式比通过方式更快
vstack:
In [1617]: timeit np.array(arr[:,1].tolist())...100000 loops, best of 3: 11.5 µs per loopIn [1618]: timeit np.vstack(arr[:,1])...10000 loops, best of 3: 54.1 µs per loop
vstack是在做:
np.concatenate([np.atleast_2d(a) for a in arr[:,1]],axis=0)
一些替代方案:
In [1627]: timeit np.array([a for a in arr[:,1]])100000 loops, best of 3: 18.6 µs per loopIn [1629]: timeit np.stack(arr[:,1],axis=0)10000 loops, best of 3: 60.2 µs per loop
请记住,对象数组仅包含指向列表的指针,这些列表位于内存中。尽管的2d性质
arr使选择第二列变得容易,但
arr[:,1]实际上是列表列表。而且对其进行的大多数 *** 作都是这样。诸如此类的
reshape事情不会越界
object。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)