argsortで毎回悩む
http://sohatach.hatenablog.jp/entry/2014/10/04/173309
大体ここらへんを見直しているが、度々分からなくなるのでまとめる
argsort()が返すのは、「その配列を昇順にソートした時の配列を元の配列のindexを使って表現したもの」なので、
a = np.array([3, 1, 2]) b = np.argsort(a) array([1, 2, 0])
とした時に、ソートされた配列のi番目の要素を取り出すには
a[b[i]]
とする必要がある(bはindexを示す配列であるため)
たまに「配列においてこの数字mは何番目に来るんだろう」ということを調べるためにargsortを使うことがあるが、その時は
len(a) - int(np.where(np.argsort(a) == m)[0])
などとしている