Pythonリストに変換せずに、キー(またはコンパレータ)関数を使用してnumpy ndarrayの行を並べ替える方法はありますか?
特に、この関数に従って並べ替える必要があります。
c1,c2= 4,7
lambda row: c1*(row[1]/c2)+row[0]
考えられる解決策の1つは、各行のキー値を使用してベクトルを生成することですが、それに従ってどのように並べ替えるのでしょうか。どういうわけか、そのようなベクトルをインデックスベクトルに変換しようとする必要がありますか?
order= c1*(matrix[:,1]/c2)+matrix[:,0]
indexes= order_to_index( order )
return matrix[ indexes ]
これは現実的ですか?