7. 形状操作
7.1 改变数组的形状
数组的形状是由沿每个轴的元素数量所决定的
数组的形状可以通过不同的命令来改变。下面的三个命令都会返回一个修改后的数组,但并不会改变原始数组。
reshape 函数会返回一个形状经过修改的参数值,而 ndarray.resize 方法则会修改数组本身。
7.2 堆叠不同的数组
可以将多个数组沿着不同的轴进行堆叠排列
函数 column_stack 将一维数组按列堆叠成二维数组。对于二维数组而言,它与 hstack 函数的功能相同。
一般来说,对于具有三个及以上维度的数组,hstack 函数沿着其第二个轴进行堆叠,vstack 函数沿着其第一个轴进行堆叠,而 concatenate 函数则允许通过一个可选参数指定进行拼接的轴的编号。
在复杂情形下,r_ 和 c_ 有助于通过沿着一个轴堆叠数字来创建数组。它们允许使用范围字面量:。
当作为参数与数组一起使用时,r_ 和 c_ 在其默认行为方面类似于 vstack 和 hstack,但允许(在某些情况下)提供一个可选参数,用于指定要沿哪个轴进行连接。
7.3 将一个数组拆分成若干个较小的数组
使用 hsplit 函数,您可以沿着数组的水平轴对其进行拆分,方法是指定要返回的等大小数组的数量,或者指定拆分应发生的列位置。
vsplit 沿纵轴进行分割,而 array_split 则允许指定沿哪个轴进行分割。