0
だから私はこのようなデータフレームがあります。パンダでは、すべてのサブローを削除しますが、multiIndexデータフレームの特定の列で最高の値を持つサブノートを保持する方法はありますか?
+---+-----+------------+------------+-------+
| | | something1 | something2 | score |
+---+-----+------------+------------+-------+
| 1 | 112 | 1.00 | 10.0 | 15 |
| | 116 | 0.76 | -2.00 | 14 |
| 8 | 112 | 0.76 | 0.05 | 55 |
| | 116 | 1.00 | 1.02 | 54 |
+---+-----+------------+------------+-------+
をそして私はこれを達成したい:
+---+-----+------------+------------+-------+
| | | something1 | something2 | score |
+---+-----+------------+------------+-------+
| 1 | 112 | 1.00 | 10.0 | 15 |
| 8 | 112 | 1.00 | 1.02 | 55 |
+---+-----+------------+------------+-------+
が、私は最大のスコア値を持つ各最初のインデックスのために一つだけの行を維持したいです。
私は、各グループの最初の行を選択し、その後DFを並べ替え、このような何かをしようとしたが、期待どおりに動作しませんでした:
df = df.sort_values("score", ascending=False).groupby(level=[0, 1]).first()
ありがとうございました!
あなたが唯一のレベル0でグループに必要
なぜあなたはindex = 8の2番目の行を保持していますか?スコアが最大であるので、最初の行にすべきではありませんか? – Psidom
あなたは正しいです、私は編集しました –