Python:numpy array 拼接

numpy 中的 array 是经常使用的数据结构,尤其是一维、二维结构

难免用到拼接操作,numpy 提供了一些方法实现不同拼接效果,在此进行比较整理

主要包括:concatenate(),stack(),vstack(),hstack(),row_stack(),column_stack()

1、concatenate()

在现有维度上连接多个 array,是 array 连接的通用方法

concatenate((array1, array2, ...), axis=0, dtype=None)

(array1, array2, ...) 为多个 array 的 tuple

axis 默认第一个维度,若为 None,则先进行扁平化操作再拼接

dtype 可用于指定目的数据类型

其他参数略

Python:numpy array 拼接

需要拼接的方向上要有相同维度,否则报错

Python:numpy array 拼接

2、stack()

在一个新维度上连接多个array,即回创建一个新的维度

numpy.stack((array1, array2, ...), axis=0)

(array1, array2, ...) 为多个 array 的 tuple

 axis 默认第一个维度,不能为 None

其他参数略

Python:numpy array 拼接

stack 之后维数加一(例子中维数变为3),但方向由 axis 设定

3、vstack() 和 hstack()

vstack(),hstack() 分别在垂直方向(堆叠多行),水平方向(堆叠多列)上连接多个 array

vstack((array1, array2, ...))

hstack((array1, array2, ...))

(array1, array2, ...) 为多个 array 的 tuple,一般使用的 array 不超过三维,更高维应使用上面更通用的函数

Python:numpy array 拼接

4、row_stack() 和 column_stack()

row_stack((array1, array2, ...))

column_stack((array1, array2, ...))

(array1, array2, ...) 为多个一维或二维 array 的 tuple

对于一维 array,分别以行或列的方向进行拼接,与上面稍有区别

输入二维 array 时,与 vstack(),hstack() 是一样的

Python:numpy array 拼接

上一篇:Array类、冒泡排序、稀疏数组


下一篇:Python标准库 内置函数max iterable key default