(四)沿各个轴进行索引和切片
1. 整数选择与切片保留的形状
a[1,0] 表示第 2 天的早上,得到 30。逗号把不同轴的选择分开;冒号仍然采用第二章的开始、结束、步长写法。
# 项目文件:demos/basic_index.py
# 逗号分开各轴的选择;整数去掉一个轴,切片保留那个轴。
import numpy as np
a = np.array([[10, 20], [30, 40], [50, 60]])
print("单格", int(a[1, 0]))
print("一行", a[1].tolist(), a[1].shape)
print("一列", a[:, 0].tolist(), a[:, 0].shape)
print("保留列轴", a[:, 0:1].tolist(), a[:, 0:1].shape)
print("选两行", a[1:, :].tolist())
print("反转行", a[::-1].tolist())
print("隔行", a[::2].tolist())a[1] 取出一天,shape 从 (3,2) 变为 (2,);a[:,0] 取出每天早上,shape 为 (3,)。整数选择去掉了那个轴,而 a[:,0:1] 用切片保留列轴,shape 为 (3,1)。
a[1:,:] 得到后两天,a[::-1] 反转天的次序,a[::2] 选第 1、3 天。先写清每个轴在选择什么,再读出结果形状,比只凭结果像不像一行更可靠。