在Python中,使用NumPy庫可以方便地對數組進行形狀變換。以下是一些常用的方法:
reshape
:reshape
函數允許你改變數組的形狀,但元素總數必須保持不變。語法如下:
numpy.ndarray.reshape(shape, order='C')
其中,shape
是一個整數元組,表示新數組的形狀;order
參數指定元素在新數組中的排列順序('C’表示按行優先順序,'F’表示按列優先順序)。
示例:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((3, 2))
print(b)
輸出:
[[1 2]
[3 4]
[5 6]]
resize
:resize
函數可以改變數組的大小,包括增加或減少元素。語法如下:
numpy.ndarray.resize(size, refcheck=True, order='C')
其中,size
是一個整數元組,表示新數組的大小;refcheck
參數檢查原數組是否與新數組的形狀兼容(默認為True);order
參數指定元素在新數組中的排列順序。
示例:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6])
a.resize((3, 2))
print(a)
輸出:
[[1 2]
[3 4]
[5 6]]
expand_dims
:expand_dims
函數在數組的指定位置插入新的維度。語法如下:
numpy.expand_dims(a, axis=-1)
其中,a
是要操作的數組;axis
參數指定要插入新維度的位置(默認為-1,表示在數組的最后一個維度之前插入新維度)。
示例:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6])
b = np.expand_dims(a, axis=0)
print(b)
輸出:
[[1 2 3 4 5 6]]
若要在指定位置插入新維度,可以這樣做:
b = np.expand_dims(a, axis=1)
print(b)
輸出:
[[1]
[2]
[3]
[4]
[5]
[6]]
這些方法可以幫助你根據需要對NumPy數組進行形狀變換。