Python numpy切片處理資料
對於一維陣列[n:]表示從第n列開始取資料
import numpy as np
a=np.array([0,1,2,3,4,5,6,7,8])
a[5:]
輸出的結果為:array([5, 6, 7, 8])
對於一位陣列[n:m],表示從第n列開始,到m-1列結束
如 a[1;5]
輸出的結果為:array([1,2,3,4])
對於二維矩陣;[n,:]表示取得是第n-1行,但是n-1必須小於等於矩陣的行數減一,等價與[n]
如:c=np.array([[0,1,2,3,4,5,6,7,8],
[2,4,5,7,8,0,1,5,7],
[5,2,8,4,0,9,7,4,4]
])
c[2,:]
輸出的結果為:array([5, 2, 8, 4, 0, 9, 7, 4, 4])#表示輸出的時矩陣的第三行,
對於二維矩陣[n:m,:]表示去矩陣的第n~m-1行資料,等價於[n:m]
c=np.array([[0,1,2,3,4,5,6,7,8],
[2,4,5,7,8,0,1,5,7],
[5,2,8,4,0,9,7,4,4]
])
c[1:2,:]
結果為:array([[2, 4, 5, 7, 8, 0, 1, 5, 7]])#取原矩陣的1~2-1行,即只取了矩陣的第二行
對於二維矩陣[:,m]表示取矩陣的第m+1列
如:c=np.array([[0,1,2,3,4,5,6,7,8],
[2,4,5,7,8,0,1,5,7],
[5,2,8,4,0,9,7,4,4]
])
c[:,2]
結果為:array([2, 5, 8])#去矩陣的第2+1列
對於二維矩陣[:,n:m]表示取矩陣的第n+1列至m列
c=np.array([[0,1,2,3,4,5,6,7,8],
[2,4,5,7,8,0,1,5,7],
[5,2,8,4,0,9,7,4,4]
])
c[:,2:5]
結果為:
array([[2, 3, 4], [5, 7, 8], [8, 4, 0]])#表示去矩陣的第三至五列