Python中的 numpy.asfortranarray()
当我们要将输入转换为在内存中以 Fortran 顺序排列的数组时,使用numpy.asfortranarray()
函数。输入包括标量、列表、元组列表、元组、元组元组、列表元组和 ndarray。
Syntax : numpy.asfortranarray(arr, dtype=None)
Parameters :
arr : [array_like] Input data, in any form that can be converted to an float type array. This includes scalar, lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays.
dtype : By default, the data-type is inferred from the input data.
Return : The input arr in Fortran, or column-major, order.
代码 #1:列表到 fortranarray
# Python program explaining
# numpy.asfortranarray() function
import numpy as geek
my_list = [1, 3, 5, 7, 9]
print ("Input list : ", my_list)
out_arr = geek.asfortranarray(my_list)
print ("output fortanarray from input list : ", out_arr)
输出 :
Input list : [1, 3, 5, 7, 9]
output fortanarray from input list : [1 3 5 7 9]
代码 #2:元组到 fortanarray
# Python program explaining
# numpy.asfortranarray() function
import numpy as geek
my_tuple = ([1, 3, 9], [8, 2, 6])
print ("Input tuple : ", my_tuple)
out_arr = geek.asfortranarray(my_tuple, dtype ='int8')
print ("output fortan array from input tuple : ", out_arr)
输出 :
Input tuple : ([1, 3, 9], [8, 2, 6])
output fortan array from input touple : [[1 3 9]
[8 2 6]]
代码#3:标量到fortanarray
# Python program explaining
# numpy.asfortranarray() function
import numpy as geek
my_scalar = 15
print ("Input scalar : ", my_scalar)
out_arr = geek.asfortranarray(my_scalar, dtype ='float')
print ("output fortan array from input scalar : ", out_arr)
输出 :
Input scalar : 15
output fortan array from input scalar : [ 15.]
代码#4:数组到fortanarray
# Python program explaining
# numpy.asfortranarray() function
import numpy as geek
in_arr = geek.arange(9).reshape(3, 3)
print ("Input array : ", in_arr)
# checking if it is fortanarray
print(in_arr.flags['F_CONTIGUOUS'])
out_arr = geek.asfortranarray(in_arr, dtype ='float')
print ("output array from input array : ", out_arr)
# checking if it has become fortanarray
print(out_arr.flags['F_CONTIGUOUS'])
输出 :
Input array : [[0 1 2]
[3 4 5]
[6 7 8]]
False
output array from input array : [[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]
True