矩陣一般有行也有列,所以矩陣的截取也需要包含行和列兩個參數。
假設a是一個矩陣,a的截取就可寫成:a[起始行:終止行,起始列:終止列],中括號中有一個逗號,逗號前的是為了分割行的,逗號后的是為了分割列的。例如:
a1=np.array([[1,2,3,4],[5,6,7,8],[11,12,13,14],[2,3,4,5]])
import numpy as np
a1=np.array([[1,2,3,4],[5,6,7,8],[11,12,13,14],[2,3,4,5]])
print('截取矩陣第二三行,第二、三列:\n',a1[1:3,1:3])
結果為:
截取矩陣第二三行,第二、三列: [[ 6 7] [12 13]]
如果只分割行,不分隔列,可寫為:a[1:3],分割列的部分可以省略,代碼如下:
print('截取矩陣第二三行:\n',a1[1:3])
打印結果如下:
截取矩陣第二三行:
[[ 5 6 7 8]
[11 12 13 14]]
如果只分割列,不分隔行,可寫為:a[:,1:3],分割行的部分不可以省略,代碼如下:
print('截取矩陣第二三列:\n',a1[:,1:3])
打印結果如下:
截取矩陣第二三列:
[[ 2 3]
[ 6 7]
[12 13]
[ 3 4]]
如果只分割某一行,可寫為:a[2](截取第三行)
print('截取矩陣第三行:\n',a1[2])
打印結果:
截取矩陣第三行:
[11 12 13 14]
如果分割某一列,可寫為:a[:,2](截取所有行的第三列)(逗號前邊用於截取行的冒號不可省略),其結果是將所有行的第三個數拼接成一個列表
print('截取矩陣第三行:\n',a1[:,2])
打印結果:
截取矩陣所有行第三列:
[ 3 7 13 4]
如果分割某行某列,可寫為:a[2,2](截取第三行的第三列)
print('截取矩陣第三行第三列:\n',a1[2,2])
打印結果:
截取矩陣第三行第三列:
13
以上就是矩陣的切片用法,歡迎大家提意見
