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)
 
 
 
 
 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM