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