numpy.atleast_2d
numpy.atleast_2d(*arys) [source]
将输入视为至少具有二维的数组。
参数 : | arys1, arys2, … :array_like 一个或多个类似数组的序列。 非数组输入将转换为数组。 保留已经具有二维或更多维的数组。 |
返回值 : | res, res2, … :ndarray 一个数组或数组列表,每个数组均带有 尽可能避免复制,并返回二维或更大尺寸的视图。 |
例子
1)输入不同的数组的示例
import numpy as np
# 输入是一个标量(零维数组)
a = 5
result = np.atleast_2d(a)
print(result)
# 输出: [[5]]
# 示例 2: 输入是一维数组
b = np.array([1, 2, 3])
result = np.atleast_2d(b)
print(result)
# 输出: [[1 2 3]]
# 输入是二维数组
c = np.array([[1, 2], [3, 4]])
result = np.atleast_2d(c)
print(result)
# 输出: [[1 2]
# [3 4]]
# 多个输入数组
d = np.array([1, 2])
e = np.array([[3, 4], [5, 6]])
result = np.atleast_2d(d, e)
# 输出: [array([[1, 2]]), array([[3, 4],
# [5, 6]])]
2)不同使用示例
import numpy as np
# 将一个标量转换为至少二维的数组
result1 = np.atleast_2d(3.0)
print(result1)
# 输出: array([[3.]])
# 将一维数组转换为至少二维的数组
x = np.arange(3.0)
result2 = np.atleast_2d(x)
print(result2)
# 输出: array([[0., 1., 2.]])
# 验证转换后的数组是否与原数组共享数据(视图)
is_base = np.atleast_2d(x).base is x
print(is_base)
# 输出: True
# 多个输入时,每个输入转换为至少二维的数组
result4 = np.atleast_2d(1, [1, 2], [[1, 2]])
print(result4)
# 输出: [array([[1]]), array([[1, 2]]), array([[1, 2]])]