📅  最后修改于: 2023-12-03 15:04:33.138000             🧑  作者: Mango
在Python中,numpy是一个广泛使用的计算科学库,提供了许多方便的函数和工具,其中之一是numpy.atleast_3d(),它用于将输入数据转换为三维矩阵。
numpy.atleast_3d(*arys)
此函数接受任意数量的数组作为输入,并将其强制转换为至少具有三个维度的矩阵。如果输入形状小于3,则通过向最后一个轴添加维度来添加维度。
*arys: 带有各种入力形状的数组。
由输入数组构成的至少具有三个维度的矩阵。
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])
c = np.array([[[10]], [[11]], [[12]]])
d = np.array([[[[13]]]])
# 将1-D数组转换为3-D数组
print(np.atleast_3d(a))
# 将2-D数组转换为3-D数组
print(np.atleast_3d(b))
# 将3-D数组转换为3-D数组
print(np.atleast_3d(c))
# 将4-D数组转换为4-D数组
print(np.atleast_3d(d))
运行结果如下:
[[[1]
[2]
[3]]]
[[[4]
[5]
[6]]
[[7]
[8]
[9]]]
[[[10]]
[[11]]
[[12]]]
[[[[13]]]]
在上述示例中,我们使用了numpy.atleast_3d()函数将不同形状的输入数组转换为至少具有三个维度的矩阵。在每种情况下,输出都是一个3-D数组,符合该函数的要求。