numpy.asfortranarray() in Python
Last Updated :
25 Nov, 2022
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
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
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
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
import numpy as geek
in_arr = geek.arange( 9 ).reshape( 3 , 3 )
print (" Input array : ", in_arr)
print (in_arr.flags[ 'F_CONTIGUOUS' ])
out_arr = geek.asfortranarray(in_arr, dtype = 'float' )
print ("output array from input array : ", out_arr)
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