【发布时间】:2018-12-20 14:19:53
【问题描述】:
如何确定一个 n 维 numpy 数组 Arr 在 C 样式或 Fortran 样式中是否连续?
【问题讨论】:
-
另请查看
strides。
标签: python numpy contiguous
如何确定一个 n 维 numpy 数组 Arr 在 C 样式或 Fortran 样式中是否连续?
【问题讨论】:
strides。
标签: python numpy contiguous
The numpy documentation 表示可以通过属性flags 来检查数组是 C 连续还是 Fortran 连续:
Arr.flags['C_CONTIGUOUS']
Arr.flags['F_CONTIGUOUS']
这些属性返回一个布尔值,指示这两种情况中的哪一种为真。
【讨论】:
numpy.ndarray 对象的一个属性,正如您报告的语法(这是正确的)所暗示的那样。
您也可以试试ndarray.data.contiguous 会员。例如。 (在我的机器上):
arr = np.arange(6).reshape(2, 3)
print(arr.data.contiguous) # True
print(arr.data.c_contiguous) # True
print(arr.data.f_contiguous) # False
(我找不到任何信息:哪些 numpy 版本支持这一点,即使在他们的文档上也是如此。欢迎在 cmets 中提供任何线索!)
【讨论】: