列ごとに重複を排除し、最も高い値を持つ行を保持する方法
DataFrame の 1 つの列に重複値がある場合、それらを排除するための戦略を実行することが必要になります。 1 つのアプローチは、別の列に最も高い値を持つ行のみを保持することです。
この DataFrame の例を考えてみましょう:
A B 1 10 1 20 2 30 2 40 3 10
目標は、この DataFrame を次のように変換することです:
A B 1 20 2 40 3 10
1 つの方法では、重複を排除する前に DataFrame を並べ替えます。
df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')
ただし、さらに多くの場合複数の列と微妙な並べ替え要件が関係する複雑なシナリオでは、groupby を使用できます。以下のコードは、このアプローチを示しています。
df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
このソリューションは、列 'A' ごとに行をグループ化し、グループごとに列 'B' の最大値を持つ行を生成します。
以上がデータフレーム内の重複行を削除し、特定の列の最高値を持つ行のみを保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。