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