阅读量

原创教程,严禁转载。引用本文,请署名 Python中文网, http://www.zglg.work


如何将一维array转换为二维array(如何向数组添加新轴)

本节介绍np.newaxisnp.expand_dims

可以使用np.newaxisnp.expand_dims来增加现有array的维数。

使用np.newaxis一次将使array的维数增加一个维数。

这意味着一维array将变成二维array,二维array将变成三维array,依此类推。

例如,如果从这个数组开始:

>>> a = np.array([1, 2, 3, 4, 5, 6])
>>> a.shape
(6,)

可以使用np.newaxis添加新轴:

>>> a2 = a[np.newaxis, :]
>>> a2.shape
(1, 6)

可以使用np.newaxis显式转换具有行向量或列向量的一维数组。

例如,可以通过沿第一个维度插入轴将一维array转换为行向量:

>>> row_vector = a[np.newaxis, :]
>>> row_vector.shape
(1, 6)

或者,对于列向量,可以沿第二维度插入轴:

>>> col_vector = a[:, np.newaxis]
>>> col_vector.shape
(6, 1)

也可以通过在指定位置插入新轴来展开数组,并使用np.expand_dims

例如,如果从这个数组开始:

>>> a = np.array([1, 2, 3, 4, 5, 6])
>>> a.shape
(6,)

您可以使用np.expand_dims在索引位置1处添加轴:

>>> b = np.expand_dims(a, axis=1)
>>> b.shape
(6, 1)

可以使用以下命令在索引位置0处添加轴:

>>> c = np.expand_dims(a, axis=0)
>>> c.shape
(1, 6)

更多关于 newaxis hereexpand_dims.


NumPy入门系列教程:

NumPy介绍

安装和导入NumPy

Python列表和NumPy数组有什么区别?

什么是array?

有关Array的详细信息

如何创建array

添加、删除和排序元素

数组形状和大小

重塑array

如何将一维array转换为二维array(如何向数组添加新轴)