ホームページ > バックエンド開発 > Python チュートリアル > 列ごとに重複を削除し、最大値の行を保持する方法

列ごとに重複を削除し、最大値の行を保持する方法

Mary-Kate Olsen
リリース: 2024-11-16 11:35:03
オリジナル
241 人が閲覧しました

How to Remove Duplicates by Columns and Retain Rows with Maximum Values?

列ごとに重複を削除し、最大値を持つ行を保持する

データフレーム内で重複値に遭遇することは困難な場合があります。対応する値が最も大きい行を保持することが重要なシナリオでは、効果的な手法を採用することが不可欠になります。

この問題に対処するには、列 A に重複がある次のデータフレームを検討してください:

A B
1 10
1 20
2 30
2 40
3 10

目的は、列 A から重複を削除し、列 B の最大値を持つ行を保持することです。理想的には、結果は次のようになります。

A B
1 20
2 40
3 10

1 つのアプローチは、データフレームを並べ替えることです。重複を削除する前:

df = df.sort_values(by='B', ascending=False)
df.drop_duplicates(subset='A', keep='first')
ログイン後にコピー

このメソッドは機能しますが、行を昇順でソートするため、最大値の保持は保証されません。この制限を克服するには、次のアプローチを使用できます。

df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
ログイン後にコピー

この操作は、データフレームを列 A ごとにグループ化し、列 B の最大値を持つインデックスを見つけて、対応する行を選択します。その結果、重複が削除され、最大値が保持された更新されたデータフレームが生成されます。

以上が列ごとに重複を削除し、最大値の行を保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート