Python中的 numpy.atleast_3d()
当我们想要将输入转换为至少具有三个维度的数组时,使用numpy.atleast_3d()
函数。标量、1 维和 2 维输入被转换为 3 维数组,而高维输入被保留。
输入包括标量、列表、元组列表、元组、元组元组、列表元组和 ndarray。
Syntax : numpy.atleast_3d(*arrays)
Parameters :
arrays1, arrays2, … : [array_like] One or more array-like sequences. Non-array inputs are converted to arrays. Arrays that already have three or more dimensions are preserved.
Return : An array, or list of arrays, each with arr.ndim >= 3. Copies are avoided where possible, and views with three or more dimensions are returned. For example, a 1-D array of shape (N, ) becomes a view of shape (1, N, 1), and a 2-D array of shape (M, N) becomes a view of shape (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