python中[,a::b]的使用
创建一个4x4的数组。
import numpy as npimport numpy as np
data = np.random.rand(16).reshape(4,4)
data
array([[0.98254958, 0.55156623, 0.9158022 , 0.32138319],
[0.75928362, 0.733542 , 0.95655983, 0.90522862],
[0.54084459, 0.52185078, 0.76202046, 0.53365677],
[0.079532 , 0.41549849, 0.5827918 , 0.45521467]])
当a=0,b=2,表示从0开始索引,间隔2列索引一次,索引第0、2列。
data[:,0::2]
array([[0.98254958, 0.9158022 ],
[0.75928362, 0.95655983],
[0.54084459, 0.76202046],
[0.079532 , 0.5827918 ]])
当a=0,b=4,表示从0开始索引,每间隔4列索引一列,当间隔b大于数组的长度,则只索引当前列。
data[:,0::4]
array([[0.98254958],
[0.75928362],
[0.54084459],
[0.079532 ]])
当a=0,b=5,表示从0开始索引,每间隔5列索引一列
data[:,0::5]
array([[0.98254958],
[0.75928362],
[0.54084459],
[0.079532 ]])