# 示例数组 a = np.array([[1,2], [2,3]]) b = np.array([[3,4], [4,5]])
concatenate
: 提供axis参数指定拼接方向append
: 默认先flatten再拼接成一维数组,也可指定axisstack
: 提供axis参数,用于生成新的维度hstack
: 水平拼接,沿着行的方向,对列进行拼接vstack
: 垂直拼接,沿着列的方向,对行进行拼接dstack
: 沿着第三个轴(深度方向)进行拼接np.c_
: 水平拼接,沿着行的方向,对列进行拼接np.r_
: 垂直拼接,沿着列的方向,对行进行拼接
np.concatenate()
np.concatenate(a_tuple, axis=0, out=None)
"""
:param a_tuple:对需要合并的数组用元组的形式给出
:param axis: 沿指定的轴进行拼接,默认0,即第一个轴
"""
示例
np.concatenate([a, b])
'''
array([[1, 2],
[2, 3],
[3, 4],
[4, 5]])
'''
np.concatenate([a, b], axis=1)
'''
array([[1, 2, 3, 4],
[2, 3, 4, 5]])
'''
np.append()
append(arr, values, axis=None)
"""
:param arr:array_like的数据
:param values: array_like的数据,若axis为None,则先将arr和values进行ravel扁平化,再拼接;否则values应当与arr的shape一致,或至多
在拼接axis的方向不一致
:param axis:进行append操作的axis的方向,默认无
"""
示例
np.append(a, b) # 先对齐扁平化处理后拼接
'''
array([1, 2, 2, 3, 3, 4, 4, 5])
'''
np.append(a, b, axis=0)
'''
array([[1, 2],
[2, 3],
[3, 4],
[4, 5]])
'''
np.append(a, b, axis=1)
'''
array([[1, 2, 3, 4],
[2, 3, 4, 5]])
'''
np.stack()
>>> np.stack((a,b)) # 默认axis为0
array([[[1, 2],
[2, 3]],
[[3, 4],
[4, 5]]])
>>> np.stack((a, b), axis=1)
array([[[1, 2],
[3, 4]],
[[2, 3],
[4, 5]]])
>>> np.stack((a,b), axis=2)
array([[[1, 3],
[2, 4]],
[[2, 4],
[3, 5]]])
hstack
和vstack
>>> np.hstack((a,b)) # 水平拼接,沿着行的方向,对列进行拼接
array([[1, 2, 3, 4],
[2, 3, 4, 5]])
>>> np.vstack((a,b)) # 水平拼接,沿着行的方向,对列进行拼接
array([[1, 2],
[2, 3],
[3, 4],
[4, 5]])
np.c_
和np.r_
>>> np.c_[a,b] # 水平拼接,沿着行的方向,对列进行拼接
array([[1, 2, 3, 4],
[2, 3, 4, 5]])
>>> np.r_[a,b] # 水平拼接,沿着行的方向,对列进行拼接
array([[1, 2],
[2, 3],
[3, 4],
[4, 5]])