python 增加矩阵行列和维数

python 增加矩阵行列和维数

方法1

  • np.r_
  • np.c_
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

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

方法3

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

python增加矩阵维度

 
  • numpy.expand_dims(a, axis) 

 
>>> x = np.array([1,2])
>>> x.shape
(2,)
>>> y = np.expand_dims(x, axis=0)
>>> y
array([[1, 2]])
>>> y.shape
(1, 2)
>>> y = np.expand_dims(x, axis=1)  # Equivalent to x[:,newaxis]
>>> y
array([[1],
       [2]])
>>> y.shape
(2, 1)
 
 
 
 
 



猜你喜欢

转载自www.cnblogs.com/jins-note/p/9590672.html