python给多维矩阵增加整行或整列

下方代码在console控制台进行输出

1.使用append方法

import numpy as np
m_list=[[1,2,3],[3,4,5]]
m_arr=np.array(m_list) # 转为数组
np.append(m_arr,[[1,1,1]],axis=0) # 添加整行元素
np.append(m_arr,[[1],[1]],axis=1) # 添加整列

结果如下:

[[1 2 3]
 [3 4 5]
 [1 1 1]]
 
[[1 2 3 1]
 [3 4 5 1]]

2.使用np.c_[]和np.r_[]添加行和列

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.ones(3)
np.c_[a, b]
np.r_[a, a]

结果如下:

array([[1., 2., 3., 1.],
       [4., 5., 6., 1.],
       [7., 8., 9., 1.]])
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9],
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

3.使用np.insert

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.ones(3)
np.insert(a, 0, values=b, axis=1)
np.insert(a, 3, values=b, axis=1)
np.insert(a, 0, values=a, axis=0)

结果如下:

array([[1, 1, 2, 3],
       [1, 4, 5, 6],
       [1, 7, 8, 9]])
array([[1, 2, 3, 1],
       [4, 5, 6, 1],
       [7, 8, 9, 1]])
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9],
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

4.使用np.column_stack,直接合并列

np.column_stack((a, b))

结果如下:

array([[1., 2., 3., 1.],
       [4., 5., 6., 1.],
       [7., 8., 9., 1.]])

python给多维矩阵增加整行或整列目前知道这四种,欢迎大家指出更多方法!