python给矩阵的某(几)行或者某(几)列赋值

import numpy as np
a=np.array([[ 2,  7,  4,  2],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
print(a)

#b=a[np.lexsort(a[:,::-1].T)]
#print(b)


c=np.array([[1,1,1]]).T
a[:,[1]]=c
print(a)

d=np.array([1,1,1,1])
a[[1],:]=d
print(a)
a[:,[1]]=c 给矩阵的第2列赋值为1,更新a
然后a[[1],:]=d 给更新过的矩阵a的第2行赋值为1。

 

 

import numpy as np
a=np.array([[ 2,  7,  4,  2],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
print(a)

f=np.array([[ 1,  1,  1,  1],
       [1,  1,  1,  1],])
a[[1,2],:]=f
print(a)

给矩阵a的第2行和第3行赋值全为1

 

 

import numpy as np
a=np.array([[ 2,  7,  4,  2],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
print(a)

g=np.array([[ 1,  1,  1,  1],
       [1,  1,  1,  1]])
a[0:2,:]=f
print(a)

给矩阵a的第一行开始,算上第一行向后数2-0=2行,也就是第一行到第二行全部赋值为1

 

 

 
posted @ 2020-06-05 20:47  青女素娥  阅读(26792)  评论(0编辑  收藏  举报