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