Lab*_*abo 2 python arrays numpy memory-layout
是否可以在 numpy 中创建一个不是 C_CONTIGUOUS 或 F_CONTIGUOUS 的一维数组?
我认为连续的概念只对具有更多维度的数组有意义,但我在文档中找不到任何内容。
我尝试了以下方法来制作不连续的一维数组:
>>> np.empty(10).flags
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
>>> np.empty(10).copy('F').flags
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
Run Code Online (Sandbox Code Playgroud)
只需创建一个跳过某些元素的数组视图,它将是不连续的:
In [2]: a = np.arange(10)
In [3]: a.flags
Out[3]:
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
In [4]: a[::2].flags
Out[4]:
C_CONTIGUOUS : False
F_CONTIGUOUS : False
OWNDATA : False
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |