我定义了一个Fortran连续数组:

   import numpy as np

   hp  = np.zeros([number_fragments, max(length_fragments_list), 6], order='F')


该数组的切片不是Fortran连续的。我该如何解决?

hn = hp[0,0:Length-1,:]

   hn.flags

  C_CONTIGUOUS : False

  F_CONTIGUOUS : False

also

   hn = hp[0,0:Length-1,:].copy()

   hn.flags

  C_CONTIGUOUS : True

  F_CONTIGUOUS : False


切片后如何轻松获得Fortran连续数组?

最佳答案

您可以在片上应用numpy函数np.asfortranarray来强制执行它,例如:

 np.asfortranarray(hp[0,0:Length-1,:].copy())

关于python - Python numpy数组切片不是Fortran连续的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57927933/

10-12 17:02