如何给numpy矩阵添加行、列

有很多种方法可以实现为numpy添加数据:

方法1

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]]

  • 该方法只能将两个矩阵合并

  • 注意要合并的两矩阵的行列关系

方法2

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用来控制是插入行还是列,可见该方法非常灵活!

  • 个人比较推荐使用这个方法

方法3

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))
  • 与方法一效果完全相同

转载地址:https://blog.csdn.net/tintinetmilou/article/details/78119320

猜你喜欢

转载自blog.csdn.net/qq_36523839/article/details/81165651