Warm tip: This article is reproduced from serverfault.com, please click

其他-将Fortran数组转换为numpy数组

(其他 - Converting Fortran array to numpy array)

发布于 2020-11-28 02:28:36

我正在将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)]])
Questioner
Bob
Viewed
22
DYZ 2020-11-28 13:11:29

如果要保留原始的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')