当我们要将输入转换为以Fortran顺序排列在内存中的数组时,将使用numpy.asfortranarray()函数。输入包括标量,列表,元组列表,元组,元组元组,列表元组和ndarray。
用法: numpy.asfortranarray(arr, dtype=None)
参数:
arr :[数组]输入数据,可以转换为浮点型数组的任何形式。这包括标量,列表,元组列表,元组,元组元组,列表元组和ndarray。
dtype :默认情况下,从输入数据中推断出数据类型。
Return :以Fortran或专栏为主的顺序输入arr。
代码#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
相关用法
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 numpy.asfortranarray() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。