ベクトル操作
なんか都度調べてるので
numpy の基本操作
マスク
bool array を array に作用させて True の部分だけ得る
ary[mask] の反転は ary[~mask]
argsort, argmin, argmax は index が返る
ary[np.argsort(arr)] で実際にソートした結果になる
argsort
code:argsort
np.argsort(arr)[0:3] だけ取れば上位3つ
Dataframe から array へ
各行が embedding 持っている時
np.stack(df['embedding'].to_numpy())
Series#to_numpy() だけだと array[list(...), list(...)] になるので
まとめて距離計算
scipy.spatial.distance.cdist
cdist(vec, vec, metric='cosine')
vec.shape が (n, d) のとき、(n, n) が返る、対自身の距離になる対角部分は 0
cdist の上三角行列が並んでる
cdist は squareform(pdist(...)) である?