将维度添加到 NumPy 数组

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 numpy.expand_dims() 函数为 NumPy 数组添加维度
  2. 使用 Python 中的 numpy.newaxis 函数为 NumPy 数组添加维度
将维度添加到 NumPy 数组

本教程将介绍在 Python 中为 NumPy 数组添加新维度的方法。

使用 numpy.expand_dims() 函数为 NumPy 数组添加维度

numpy.expand_dims() 函数 为 NumPy 数组添加了一个新维度。它将要扩展的数组和新轴作为参数,并返回一个具有额外维度的新数组。我们可以在 numpy.expand_dims() 函数的 axis 参数中指定要扩展的轴。请参考以下代码示例。

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = np.expand_dims(array, axis=0)
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

输出:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

在上面的代码中,我们首先使用 np.array() 函数创建了一个一维数组 array,并使用 array.shape 属性打印了 array 的形状。然后,我们使用 np.expand_dims(array, axis=0) 函数将 array 转换为二维数组,并使用 array.shape 属性打印了 array 的新形状。最后,我们使用 np.append() 函数将新元素附加到 array 并打印了 array 的元素。

使用 Python 中的 numpy.newaxis 函数为 NumPy 数组添加维度

以前的方法可以完成这项工作并且现在工作正常。唯一的问题是以前的方法已被弃用,将来可能无法与 Python 的较新版本一起使用。numpy.newaxis 方法 也可用于实现与前一种方法相同的目标,但代码和复杂性更少。有了这种方法,我们也不必担心在 Python 的后续版本中不被支持。numpy.newaxis 方法为我们在 Python 中的数组添加了一个新维度。

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = array[np.newaxis]
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

输出:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

我们使用 array[np.newaxis] 方法将 array 转换为二维数组,并使用 array.shape 属性打印了 array 的新形状。最后,我们使用 np.append() 函数将新元素附加到 array 并打印了 array 的元素。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn