python中numpy的陣列切片
阿新 • • 發佈:2019-02-14
一.
一維陣列:在numpy的array中切片的操作與python列表的切片操作是相同的,記住索引規則即 a[start,end,step]
二.
二維陣列:索引規則為a[行,列]。 例子如下:
先初始化一個二維array
import numpy as np
a = np.arange(20).reshape((4,5))
print(a)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]
1.取行資料
a[i, : ] #取第i行資料 a[i : j, :] #取第i行到第j行的資料(不包括結束行)
a[3,:]
array([15, 16, 17, 18, 19])
a[0:2,]
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
2.取列資料
a[ : ,j] #取第j列資料 a[:, i : j] #取第i列到第j列的資料(不包括結束列)
a[:,4]
array([ 4, 9, 14, 19])
a[:,2:4]
array([[ 2, 3],
[ 7, 8],
[12, 13],
[17, 18]])
3.取一個數據塊
a[i1: j1 , i2: j2] #取第i1行到第j1行,取第i2列到第j2列
a[0:3,2:4]
array([[ 2, 3],
[ 7, 8],
[12, 13]])
4.按步長為k的索引
a[:, i : j: k] #取所有行,i為開始列,j為結束列,k為步長
a[:,0:4:2]
array([[ 0, 2],
[ 5, 7],
[10, 12],
[15, 17]])
三.
多維陣列:與二維陣列類似,可以對比二維陣列的操作