1. 程式人生 > 實用技巧 >Python numpy切片處理資料

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]])#表示去矩陣的第三至五列