1. 排序的mask获取
应用场景:KNN中给定dataset X, Y, 在X中寻找dist最小的那几个的index然后到Y中去获取label。
Given a 2D matrix: data = np.array([[3,1],[2,4]])
-
排序
- 直接
np.sort(data, axis = none)
generate a 1D array[1,2,3,4]
, np.sort
if assign axis, e.g.np.sort(data, axis=0)
will generate a SAME DIMENSION matrix sorted in given axis. e.g[[2,1],[3,4]]
—same holds for HIGH DIMENSION.
- 直接
-
排序,但要求顺序给出index .e.g. 1D matrix
x=np.array([2,1,3])
, 要给出indexordered_mast = [1,0,2]
sox[ordered_mask] = [1,2,3]
.- Use
np.argsort(x)
https://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.ht
- Use
- 尤其有用的是
index=None
的情况:注意用np.unravel_index()
来把1Dindex还原成2D!!!
###2. BroadCasting
- numpy broadcasting真是tricky!
- 定义用来match different-dim matrix h