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数组。