【问题标题】:Converting Fortran array to numpy array将 Fortran 数组转换为 numpy 数组
【发布时间】:2021-03-10 17:44:18
【问题描述】:

我正在将 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)]])

【问题讨论】:

  • 你可能想要fvpair = np.zeros((3,12,2), dtype=int)。

标签: numpy fortran numpy-ndarray fortran90


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2017-03-08
    • 2016-01-21
    • 2011-11-27
    • 1970-01-01
    • 2021-12-18
    • 2012-04-18
    • 2019-08-30
    相关资源
    最近更新 更多