ホームページ >バックエンド開発 >Python チュートリアル >列 B に最大値の行を保持したまま、列 A の重複を削除するにはどうすればよいですか?

列 B に最大値の行を保持したまま、列 A の重複を削除するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-08 09:46:021068ブラウズ

How to Remove Duplicates in Column A While Keeping the Row with the Highest Value in Column B?

列 A の重複を削除するときに、B の値が最も高い行を維持する

今回のタスクには、列 A の重複値を削除することが含まれます。列 B で最も高い値を持つ行を保持しながらデータフレームを作成します。これを実現するには、Python の Pandas ライブラリ内の組み込み関数を利用できます。

1 つのアプローチでは、データフレームを列 A で並べ替えてから重複を破棄します。最後の出現を維持しながら。これは次のように表されます。

df.sort_values(by='A').drop_duplicates(subset='A', keep='last')

あるいは、さまざまな基準を考慮できるより柔軟な解決策は、データフレームを列 A でグループ化することです。各グループ内で、列 B の最大値を持つ行は次のようになります。抽出された。これは、次のコードを使用して実現できます。

df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])

これらのメソッドのいずれかを実装すると、最も高い B 値を持つ行が確実に保持されながら、列 A の重複値を効果的に削除できます。

以上が列 B に最大値の行を保持したまま、列 A の重複を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。