欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

numpy矩阵添加一行或一列

程序员文章站 2022-03-31 21:44:40
...

Tips:要耐心看,不难,也不麻烦…

基础知识

np.c_

将切片对象转换为沿第二轴的连接。
这是简单的,因为它很常见,所以很有用。特别是,阵列将在升级到至少2-D后沿着它们的最后一个轴堆叠,其中1个后置为形状(由1-D阵列制成的列向量)

例子


>>> np.c_[np.array([1,2,3]), np.array([4,5,6])]
array([[1, 4],
       [2, 5],
       [3, 6]])

np.r_

np.insert

np.row_stack

np.cloum_stack

快速实现代码

np.c_ | np.r_代码

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

[[1 2 3]
[4 5 6]
[7 8 9]
[0 0 0]]

[[1 2 3 0]
[4 5 6 0]
[7 8 9 0]]

  • 该方法只能将两个矩阵合并
  • 注意要合并的两矩阵的行列关系

np.insert代码

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

[[0 0 0]
[1 2 3]
[4 5 6]
[7 8 9]]

[[0 1 2 3]
[0 4 5 6]
[0 7 8 9]]

  • 这种是将一个集合插入到一个矩阵中,对于b可以是列表或元组,它仅仅提供要插入的值,但个数要对
  • np.insert的第二个参数是插入的位置,axis用来控制是插入行还是列,可见该方法非常灵活!

np.row_stack | np.colum_stack 代码

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[0,0,0]])
c = np.row_stack((a,b))
d = np.column_stack((a,b.T))
  • 类似于c_, r_

END