将 Fortran 数组转换为 numpy 数组
Converting Fortran array to numpy array
我正在将 Fortran 90 代码转换为 python。 Fortran 代码包括多维数组,如:
integer fvpair(3,12,2)
integer jpair(3,2)
real*8 aread(3,12)
我想知道以下 numpy 数组是否正确等效,假设初始化为零:
fvpair = np.array([[np.zeros(3)],[np.zeros(12)],[np.zeros(2)]])
jpair = np.array([[np.zeros(3)],[np.zeros(2)]])
aread = np.array([[np.zeros(3)],[np.zeros(12)]])
如果你想保留原来的 Fortran 数组存储顺序(列优先),不要忘记传递 order='F'
标志!
fvpair = np.zeros((3,12,2), dtype=int, order='F')
jpair = np.zeros((3,2), dtype=int, order='F')
aread = np.zeros((3,2), dtype=float64, order='F')
我正在将 Fortran 90 代码转换为 python。 Fortran 代码包括多维数组,如:
integer fvpair(3,12,2)
integer jpair(3,2)
real*8 aread(3,12)
我想知道以下 numpy 数组是否正确等效,假设初始化为零:
fvpair = np.array([[np.zeros(3)],[np.zeros(12)],[np.zeros(2)]])
jpair = np.array([[np.zeros(3)],[np.zeros(2)]])
aread = np.array([[np.zeros(3)],[np.zeros(12)]])
如果你想保留原来的 Fortran 数组存储顺序(列优先),不要忘记传递 order='F'
标志!
fvpair = np.zeros((3,12,2), dtype=int, order='F')
jpair = np.zeros((3,2), dtype=int, order='F')
aread = np.zeros((3,2), dtype=float64, order='F')