本篇主要介绍numpy中的数组操作:
- 数组的索引、切片
- 多维数组的基本操作
1.数组的索引、切片
数组索引、切片主要有以下三个特点:
①数组索引从0开始
②可以反向索引
③可以对每一个维度都可以进行切片
'''数组下标从0开始,指的任意维度,下标都从0开始'''
a = np.array([[1, 2], [5, 6]])
a
'''
array([[1, 2],
[5, 6]])
'''
print(a[0,0] ) # 访问a数组第0行第0列元素 1
a[0,0] =2 #修改a数组第0行第0列元素值为2
a
'''
array([[2, 2],
[5, 6]])
'''
'''数组下标支持反向索引,指任意维度最后元素-1,依次反向索引'''
print(a[0,-1]) # 访问a数组第0行第-1(即正向索引第1列)元素 2
'''数组切片 数组切片方式与列表相同,即在某一维度上进行切片'''
# 正态生成4行5列的二维数组
arr = np.random.normal(1.75, 0.1, (4, 5))
print(arr)
'''
[[1.79298767 1.91415977 1.53111211 1.78351471 1.77301072]
[1.64799994 1.96470888 1.74782748 1.75591085 1.65585861]
[1.83204328 1.79612227 1.73520328 1.85348431 1.7278858 ]
[1.90285654 1.85058937 1.62209023 1.5908711 1.71462305]]
'''
# 截取第1至2行的第2至3列(从第0行算起)缺省默认全部留下
after_arr = arr[1:3, 2:4]
print(after_arr)
'''
[[1.74782748 1.75591085]
[1.73520328 1.85348431]]
'''
#截取第2列至第3列的所有行
after_arr = arr[:, 2:4]
'''
array([[1.53111211, 1.78351471],
[1.74782748, 1.75591085],
[1.73520328, 1.85348431],
[1.62209023, 1.5908711 ]])
''