4. 操作多维数组
numpy.concatenate((a1, a2, ...), axis=0)
:连接多个数组。其中(a1,a2,...)
为数组的序列,给出了待连接的数组,它们沿着axis
指定的轴连接。- 所有的这些数组的形状,除了
axis
轴之外都相同
- 所有的这些数组的形状,除了
numpy.vstack(tup)
:等价于numpy.concatenate((a1, a2, ...), axis=0)
。沿着 0 轴拼接数组- 沿0轴拼接(垂直拼接),增加行
numpy.hstack(tup)
:等价于numpy.concatenate((a1, a2, ...), axis=1)
。沿着 1 轴拼接数组- 沿1轴拼接(水平拼接),增加列
numpy.column_stack(tup)
:类似于hstack
,但是如果被拼接的数组是一维的,则将其形状修改为二维的(N,1)
。- 沿列方向拼接,增加列
numpy.c_
对象的[]
方法也可以用于按列连接数组。但是如果被拼接的数组是一维的,则将其形状修改为二维的(N,1)
。- 沿列方向拼接,增加列
numpy.split(ary, indices_or_sections, axis=0)
用于沿着指定的轴拆分数组ary
。indices_or_sections
指定了拆分点:- 如果为整数
N
,则表示平均拆分成N
份。如果不能平均拆分,则报错 - 如果为序列,则该序列指定了划分区间(无需指定最开始的
0
起点和终点)。如[1,3]
指定了区间:[0,1],[1,3],[3:]
而
numpy.array_split(ary, indices_or_sections, axis=0)
的作用也是类似。唯一的区别在于:当indices_or_sections
为整数,且无法平均拆分时,并不报错,而是尽可能的维持平均拆分。- 如果为整数
numpy.transpose(a, axes=None)
:重置轴序。如果axes=None
,则默认重置为逆序的轴序(如原来的shape=(1,2,3)
,逆序之后为(3,2,1)
)。如果axes!=None
,则要给出重置后的轴序。它获得的是原数组的视图。numpy.swapaxes(a, axis1, axis2)
:交换指定的两个轴axis1/axis2
。它获得是原数组的视图。