numpy 笔记二 从基础晋级

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

猜你喜欢

转载自blog.csdn.net/u013249853/article/details/80433299