numpy 数组合并

import numpy as np

创建数组

a1 = np.arange(0,6).reshape(2,3)
a1
array([[0, 1, 2],
       [3, 4, 5]])
a2 = np.arange(6,12).reshape(2,3)
a2
array([[ 6,  7,  8],
       [ 9, 10, 11]])

append函数

np.append(a1,a2)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
np.append(a1,a2,axis=0)
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
np.append(a1,a2,axis=1)
array([[ 0,  1,  2,  6,  7,  8],
       [ 3,  4,  5,  9, 10, 11]])

concatenate函数

np.concatenate((a1,a2),axis=0)
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
np.concatenate((a1,a2),axis=1)
array([[ 0,  1,  2,  6,  7,  8],
       [ 3,  4,  5,  9, 10, 11]])

stack函数

np.vstack((a1,a2))
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
np.hstack((a1,a2))
array([[ 0,  1,  2,  6,  7,  8],
       [ 3,  4,  5,  9, 10, 11]])
np.dstack((a1,a2))
array([[[ 0,  6],
        [ 1,  7],
        [ 2,  8]],

       [[ 3,  9],
        [ 4, 10],
        [ 5, 11]]])

列表中的 numpy 数组合并

列表中的数组可以直接合并,不需要循环出来。

list1 = [a1, a2]
print(list1)
[array([[0, 1, 2],
        [3, 4, 5]]), 
 array([[ 6,  7,  8],
        [ 9, 10, 11]])]
np.concatenate(list1, axis=0)
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])