三、ndarray的基本操作 索引和切片
1.索引维与列表完全一致 多维时同理
2.切片维与列表完全一致多维时同理
将数据反转,例如[1,2,3]--->[3,2,1]
两个::进行切片
-------------------------------------------------------------------------------------------------------------------------------
1.索引维与列表完全一致 多维时同理
#列表的访问方式 arr2 = np.array ([[1, 2, 3], [4, 5,6]]) arr2[0][0]
#运行输出 1
#numpy特有的访问方式 arr2 = np.array ([[1, 2, 3], [4, 5,6]]) arr2[0,0]
#运行输出 1
# 高级用法
#2. 使用BOOL列表作为索引访问, True对应的值会被返回 arr1=np.array ([[1, 2, 3, 4, 5]]) bool_list = [True,False,True,False,True] arr1[0,bool_list] #arr1[0][bool_list]
#运行输出 array([1, 3, 5])
#eg获取大于3的数 arr2=np.array ([1, 2, 3, 4, 5]) arr2>3 #运行输出 array([False, False, False, True, True]) arr2[arr2>3] #运行输出 array([4, 5])
2.切片维与列表完全一致多维时同理
arr3=np.random.randint(0,100,size=(5,6)) arr3
array([[84, 69, 67, 45, 55, 32], [35, 85, 36, 47, 34, 40], [10, 8, 63, 21, 85, 80], [49, 16, 23, 75, 96, 12], [67, 36, 26, 6, 36, 87]])
#行切片 arr3[0:2]
array([[84, 69, 67, 45, 55, 32],
[35, 85, 36, 47, 34, 40]])
#列切片 不论多少维,每一个维度的切片范围都是用冒号表示,使用逗号分割,最后一个维度可以省略,但是被切片的维度之前的维度不能省 arr3[:,0:2]
array([[84, 69], [35, 85], [10, 8], [49, 16], [67, 36]])
#将数据反转,例如[1,2,3]--->[3,2,1]
#将数组反转 arr4=np.array([1,2,3,4,5]) arr4 arr4[::-1]
array([5, 4, 3, 2, 1])