Python numpy.atleast_3d()
numpy.atleast_3d()函数用于当我们想把输入转换为至少有三个维度的数组时。标量、一维和二维输入被转换为三维数组,而高维输入被保留。
输入包括标量、列表、图元的列表、图元、图元的图元、列表的图元和ndarrays。
语法 : numpy.atleast_3d(*arrays)
参数 :
arrays1, arrays2, … …。[array_like] 一个或多个类似数组的序列。非数组输入被转换为数组。已经有三个或更多维度的数组被保留下来。
返回 :
一个数组,或数组列表,每个数组都有arr.ndim >= 3。尽可能地避免复制,并返回具有三个或更多维度的视图。例如,一个一维数组的形状(N,)成为一个形状(1,N,1)的视图,而一个二维数组的形状(M,N)成为一个形状(M,N,1)的视图。
**代码 #1 : **
# Python program explaining
# numpy.atleast_3d() function
   
import numpy as geek
in_num = 10
   
print ("Input  number : ", in_num)
    
     
out_arr = geek.atleast_3d(in_num)
print ("output 3d array from input number : ", out_arr) 
输出 :
Input  number :  10
output 3d array from input number :  [[[10]]]
代码#2:
# Python program explaining
# numpy.atleast_3d() function
  
import numpy as geek
  
my_list = [[2, 6, 10], 
          [8, 12, 16]]
   
print ("Input  list : ", my_list)
    
out_arr = geek.atleast_3d(my_list) 
print ("output array : ", out_arr) 
输出 :
Input  list :  [[2, 6, 10], [8, 12, 16]]
output array :  [[[ 2]
  [ 6]
  [10]]
 [[ 8]
  [12]
  [16]]]
代码#3:
# Python program explaining
# numpy.atleast_3d() function
# when inputs are in high dimension
  
import numpy as geek
  
in_arr = geek.arange(16).reshape(1, 4, 4)
print ("Input  array :\n ", in_arr)
  
out_arr = geek.atleast_3d(in_arr)
print ("output  array :\n ", out_arr)
print(in_arr is out_arr)
输出 :
Input  array :
  [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]
  [12 13 14 15]]]
output  array :
  [[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]
  [12 13 14 15]]]
True
极客教程