給numpy矩陣新增一行或一列
阿新 • • 發佈:2019-01-09
方法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))
- 與方法一效果完全相同