right@https://docs.scipy.org/doc/numpy/user/quickstart.html
晋级教程
1 数组索引,布尔索引
一个数组一个坐标轴。只能表示一维的索引。
两个数组两个坐标轴,可以表示二维的索引,此时两个索引数组维度应该一致。
如果将两个数组组合成一个,当做索引数组,会被当成一维的。
oh boy,下面的比较复杂了。官网写的真的很清楚,我要是记极简笔记,不同于基础篇,没看过官方doc的看不懂的。
数组当做索引的应用
找最大索引。
data = np.sin(np.arange(12)).reshape(3.4) ind = data.argmax(axis = 0) data_max = data[ind,range(4)] print(np.all(data_max == data.max(axis = 0)))#返回true
重复的索引
a = np.arange(5) a[[0,0,1]] = [99, 77 ,44] #只有最后一次赋值生效 a = np.arange(5) a[[0,0,1]] +=1 # 只自加一一次,因为python+=不是++,而是x=x+1,要保证这个生效一次
用布尔作为索引
相当于筛选
a = arange(12).reshape(3,-1) b = a >4 a[b] #会打印一维数组,里面的元素从5到11