在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数组进行形状变换。