numpy.asfortranarray() function is used when we want to convert input to a array which is laid out in Fortran order in memory. Input includes scalar, lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays.
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.
Code #1 : List to fortranarray
Python
# 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 fortranarray from input list : ", out_arr) |
Output :
Input list : [1, 3, 5, 7, 9] output fortranarray from input list : [1 3 5 7 9]
Code #2 : Tuple to fortran array
Python
# 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 fortran array from input tuple : ", out_arr) |
Output :
Input tuple : ([1, 3, 9], [8, 2, 6]) output fortran array from input tuple : [[1 3 9] [8 2 6]]
Code #3 : Scalar to fortranarray
Python
# 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 fortran array from input scalar : ", out_arr) |
Output :
Input scalar : 15 output fortran array from input scalar : [ 15.]
Code #4 : array to fortranarray
Python
# 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 fortranarray 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 fortranarray print (out_arr.flags[ 'F_CONTIGUOUS' ]) |
Output :
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