numpy.atleast_2d 函数用于将输入的数组转换为至少二维的数组。如果输入已经是二维或更高维度的数组,则返回它本身;如果输入是一维或零维的数组,numpy.atleast_2d 会将其提升为二维。本文主要介绍一下NumPy中atleast_2d方法的使用。

numpy.atleast_2d

numpy.atleast_2d(*arys)      [source]

将输入视为至少具有二维的数组。

参数 :

arys1, arys2, … :array_like

一个或多个类似数组的序列。 非数组输入将转换为数组。 

保留已经具有二维或更多维的数组。

返回值 :

res, res2, … :ndarray

一个数组或数组列表,每个数组均带有a.ndim>= 2。 

尽可能避免复制,并返回二维或更大尺寸的视图。

例子

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]])]

推荐文档

相关文档

大家感兴趣的内容

随机列表