將維度新增到 NumPy 陣列

Muhammad Maisam Abbas 2023年1月30日 2021年7月4日
  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