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