numpy.asfortranarray
numpy.asfortranarray(a, dtype=None) [source]
返回以Fortran顺序排列在内存中的数组(ndim> = 1)。
参数 : | a :array_like 输入数组。 dtype :str 或 dtype object, 可选 默认情况下,从输入数据中推断出数据类型。 |
返回值 : | out :ndarray 输入Fortran或column-major的顺序。 |
例子
1)转换为 Fortran 列优先格式的数组
import numpy as np # 创建一个普通的 NumPy 数组 array = np.array([[1, 2, 3], [4, 5, 6]]) # 将其转换为 Fortran 列优先格式的数组 fortran_array = np.asfortranarray(array) print("Original Array:") print(array) print("\nFortran Array:") print(fortran_array)
2)检查数组的内存布局
import numpy as np # 创建一个普通的 NumPy 数组 array = np.array([[1, 2, 3], [4, 5, 6]]) # 将其转换为 Fortran 列优先格式的数组 fortran_array = np.asfortranarray(array) print("Is Fortran order?", fortran_array.flags['F_CONTIGUOUS']) # True print("Is C order?", fortran_array.flags['C_CONTIGUOUS']) # False
3)转换不同类型的数组
import numpy as np # 创建一个普通的 NumPy 数组 array = np.array([[1, 2, 3], [4, 5, 6]]) # 将其转换为 Fortran 列优先格式的数组 fortran_array = np.asfortranarray(array) # 创建一个列表并转换为 Fortran 数组 list_input = [[1, 2, 3], [4, 5, 6]] fortran_array_from_list = np.asfortranarray(list_input) print("\nFortran Array from List:") print(fortran_array_from_list)
4)与其他数组函数结合使用
import numpy as np # 创建一个普通的 NumPy 数组 array = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一个 NumPy 数组并直接转换 random_array = np.random.rand(2, 3) fortran_random_array = np.asfortranarray(random_array) print("\nRandom Fortran Array:") print(fortran_random_array)
注意:此函数返回一个至少具有一维(1-d)的数组,因此它将不保留0-d数组。