小编Dan*_* Sk的帖子

最简单的方法是将numpy数组变成C连续的顺序?

以下产生一个C连续的numpy数组:

import numpy

a = numpy.ones((1024,1024,5))
Run Code Online (Sandbox Code Playgroud)

现在,如果我切片,结果可能不再相同.例如:

bn = a[:, :, n]
Run Code Online (Sandbox Code Playgroud)

n从0到4我的问题是,我需要bn为C连续的,我需要为的许多情况下做到这一点.我只需要每bn一次,并希望避免这样做

bn  = bn.copy(order='C')
Run Code Online (Sandbox Code Playgroud)

我也不想重写我的代码

a = numpy.ones((5,1024,1024))
Run Code Online (Sandbox Code Playgroud)

有没有bn比复制更快,更便宜的方式?

背景:

我希望a使用每个切片

import hashlib

hashlib.sha1(a[:, :, n]).hexdigest()
Run Code Online (Sandbox Code Playgroud)

不幸的是,这将抛出一个ValueError抱怨订单.所以,如果有另一种快速获取我想要的哈希的方法,我也会使用它.

python arrays numpy

8
推荐指数
3
解决办法
5987
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1