Python numpy.asfortranarray()
numpy.asfortranarray()当我们想把输入转换为一个数组时,该数组在内存中按Fortran的顺序排列,就可以使用这个函数。输入包括标量、列表、图元的列表、图元、图元的图元、列表的图元和ndarrays。
语法 : numpy.asfortranarray(arr, dtype=None)
**参数 : **
arr :[array_like] 输入数据,以任何可以转换为浮点型数组的形式。这包括标量,列表,图元的列表,图元,图元的图元,列表的图元和ndarrays。
dtype :默认情况下,数据类型是由输入数据推断出来的。
返回 :
输入的Arr以Fortran或列为主的顺序。
代码#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 tuple : [[1 3 9]
[8 2 6]]
代码#3:Scalar to 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