ホームページ >バックエンド開発 >Python チュートリアル >特定の列に基づいて Pandas で重複行を削除する方法は?

特定の列に基づいて Pandas で重複行を削除する方法は?

DDD
DDDオリジナル
2024-12-17 13:03:26836ブラウズ

How to Remove Duplicate Rows in Pandas Based on Specific Columns?

Python Pandas の複数の列に基づいて重複行を削除する

Pandas のdrop_duplicates 関数は、DataFrame から重複行を削除する効率的な方法を提供します。 。ただし、特定の列セットで一致する場合にのみ行を削除したい場合はどうすればよいでしょうか?

問題:

列 "A"、" を持つ DataFrame を考えてみましょう。 B」と「C」。列「A」と「C」の値が同じ行を削除するとします。つまり、この例の DataFrame:

A B C
0 foo 0 A
1 foo 1 A
2 foo 1 B
3 bar 1 A

の行 0 と 1 を識別して削除する必要があります。解決策:

を使用すると、これを簡単に実現できます。 drop_duplicates 関数とサブセット パラメーター:

import pandas as pd

df = pd.DataFrame({"A": ["foo", "foo", "foo", "bar"], "B": [0, 1, 1, 1], "C": ["A", "A", "B", "A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

keep= パラメーターは、重複を削除するかどうかを指定します。最初の出現を含む行を選択するか、それらの行を除外します。 False に設定すると、すべての重複が削除されます。

結果は、行 0 と 1 が削除された DataFrame となり、列 "A" と "C" に基づく一意の行のみが残ります:

A B C
0 foo 1 B
1 bar 1 A

以上が特定の列に基づいて Pandas で重複行を削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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