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