numpy - 将 Fortran 数组转换为 numpy 数组
问题描述
我正在将 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')
推荐阅读
- python - 如何加入迭代中制作的 df 以构建大 df?
- jobs - 一旦主容器在 Jobs/Cron Jobs 中终止,就杀死 Sidecar 容器
- python - 在 sagemath 中访问置换群的元素
- c# - 基于 DataTable 的 NuGet 包舍入到小数点后 2 位
- python - 如何使用 xpath 在 selenium 中进行文本框输入
- python - _ArrayMemoryError: 无法分配
- python - 如何在 Python/Mysql 中迭代日期?'datetime.date' 不可迭代"
- julia - Julia @btime 找不到内部函数
- c# - 每次保存到数据库时如何擦除表中的数据
- python-3.x - 比较 pandas.DataFrame 中列之间的分类变量