1、np.dot(a,b)跟a.dot(b)是一回事,都是算a点乘b。类似的还有np.mean(a) = a.mean(), np.sum(a) = a.sum(), np.std(a)= a.std()
2、np.where()相当于三元表达式x if condition else y的矢量化版本
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> b = a>4
>>> b
array([[False, False, False],
[False, False, True],
[ True, True, True]], dtype=bool)
>>> np.where(b,0,1)
array([[1, 1, 1],
[1, 1, 0],
[0, 0, 0]])
>>> np.where(b,0,a)
array([[0, 1, 2],
[3, 4, 0],
[0, 0, 0]])
3、着重介绍np.argsort(a),返回进行排序后元素的原始索引数组,这个对于需要知道数组最小或者最大元素的位置时十分有用
Np.flatnonzero(a)等价于a.ravel().nonzero(),返回的是展平后非0元素的索引数组。
Np.nonzero(a)即a.nonzero()返回的是非0元素的索引,以数组元组的形式
得到的索引可直接用来索引原数组,等到非0元素的一位数组