前提
下記のようなソート前のデータフレーム(df)があり、これをソートしたい。
ソート前データフレーム
評価値 | クラスタ |
---|---|
5 | B |
8 | A |
6 | C |
10 | C |
2 | A |
3 | B |
実現したいこと
- まずクラスタリング単位でソートをした後、クラスタごとの評価値の最大値で比較を行い、クラスタごとにひとかたまりになっている情報は保ちながら、クラスタは昇順、評価値は降順に並び変えたい。
(文章ではわかりづらいと思いますので、詳細は下記の表を用いて説明させてください)
前提
下記のようなソート前のデータフレーム(df)があるとして、
ソート前データフレーム
評価値 | クラスタ |
---|---|
5 | B |
8 | A |
6 | C |
10 | C |
2 | A |
3 | B |
これを、下記のように並び替えたい。
ソート後データフレーム
評価値 | クラスタ |
---|---|
10 | C |
6 | C |
8 | A |
2 | A |
5 | B |
3 | B |
試したこと
df.sort_valueで2パターン試したが、上手くいかなかった。
python3.9.13
1df.sort_values(by=["クラスタ","評価値"], ascending=[True, False])
結果
評価値 | クラスタ |
---|---|
8 | C |
2 | A |
5 | C |
3 | B |
10 | B |
6 | A |
python3.9.13
1df.sort_values(by=["評価値","クラスタ"], ascending=[False, True])
結果
評価値 | クラスタ |
---|---|
8 | A |
2 | A |
5 | B |
3 | B |
10 | C |
6 | C |
補足情報(FW/ツールのバージョンなど)
windows 10 enterprise 64bit
Python 3.9.13
Pandas 1.5.1

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/08/08 04:48