ndarray对象的访问与修改十分容易,跟list对象的操作一样,直接通过索引或切片操作就可以实现。
ndarray数组的下标也是从0开始,因此可以设置start,stop以及step参数即可从原数组中切割出一个新的数组。
例:
一维数组的切片与索引
import numpy as nparr = np.arange(20)print(arr)sub_arr1=arr[4:12:2]print(sub_arr1)sub_arr2=arr[5:]print(sub_arr2)
二维数组的索引
arr = np.array([np.arange(5), np.arange(5,10), np.arange(10,15), np.arange(1, 6)])print(arr)print('第二行数据:', arr[1]) # 获取第二行数据print('第三行第三列的数据:'arr[2][2]) # 获取第三行第三列的数据print('第二行第五列的数据:'arr[1][4]) # 获取第二行第五列的数据print('第一行第四列的数据:'arr[0, 3]) # 获取第一行第四列的数据print('第一行第三列和第四行第五列的数据分别为:'arr[(0, 3), (2, 4)]) # 分别获取第一行第三列和第四行第五列的数据
二维数组的切片
arr = np.arange(20)arr = arr.reshape(4, 5)print(arr)print('每行第四列的数据:', arr[:, 3]) # 获取所有行第四列的数据print('奇数行第三列的数据:', arr[::2, 1]) # 获取奇数行第二列的数据print('新数组:', arr[0:2, 1:4]) # 获取第1~2行第2~4列的数组print('行倒序数组:', arr[::-1]) # 行倒序print('行列都倒序数组:', arr[::-1, ::-1]) # 行列都倒序