我有一個2維數組:A = numpy.array([[1, 2, 3], [4, 5, 6]])
,並想將它轉化成一個3維數組:B = numpy.array([[[1, 2, 3], [4, 5, 6]]])
NumPy的:二維數組轉換爲3D陣列
有一個簡單的方法來做到這一點?
我有一個2維數組:A = numpy.array([[1, 2, 3], [4, 5, 6]])
,並想將它轉化成一個3維數組:B = numpy.array([[[1, 2, 3], [4, 5, 6]]])
NumPy的:二維數組轉換爲3D陣列
有一個簡單的方法來做到這一點?
只需在開始添加一個新的軸與np.newaxis
-
import numpy as np
B = A[np.newaxis,:,:]
我們可以跳過上市後軸 -
B = A[np.newaxis]
此外,在別名None
帶來更換np.newaxis
一個更緊湊型解決方案 -
B = A[None]
還有可能通過使用構造函數創建一個新的NumPy數組,以便它包含一個列表。此列表包含一個單元,它是數組A
,它將允許您創建同一個數組,其中第一個單標記維度爲單數據。其結果將是您想要的3D陣列:
B = numpy.array([A])
In [13]: import numpy as np
In [14]: A = np.array([[1, 2, 3], [4, 5, 6]])
In [15]: B = np.array([A])
In [16]: B
Out[16]:
array([[[1, 2, 3],
[4, 5, 6]]])