列ごとに同じタイプを含むそのようなタイプの(より広い)行列をソートしたいのですが、各列は異なるタイプを持っている可能性があります。この並べ替えは、行のすべての列が一緒にとどまるように実行する必要がありますが、行は定義された列の値に従って順序付けられます
[
[1, 0, 0.25,'ind1', 'pop2', 0.56],
[2, 0, 0.35,'ind2', 'pop2', 0.58],
[1, 0, 0.23,'ind1', 'pop1', 0.66],
...
]
ここでは、列2(浮動小数点列)によるソートアルゴリズムを実行します。
[
[1, 0, 0.23,'ind1', 'pop1', 0.66],
[1, 0, 0.25,'ind1', 'pop2', 0.56],
[2, 0, 0.35,'ind2', 'pop2', 0.58],
...
]
列にcharタイプが含まれている場合、変更されましたか?ヘルプとアドバイスに感謝しますが、lexsort、sort、argsortをチェックしました...しかしおそらく間違った方法で。編集:理由はわかりませんが、行列がnumpy.matrix()として定義されている場合、argsort()メソッドは次元を追加します(したがって、3次元の結果)。これは、行列がnumpy.array(を使用して定義されている場合は発生しません。 )。それがさらなる読者を助けることができるならば。