Python Pandas で複数の列にわたる重複を削除する
Pandas のdrop_duplicates 関数は、指定された列に基づいて重複行を削除する便利な方法を提供します。ただし、単一の列ではなく、複数の列のサブセットにわたって重複を削除したい場合はどうすればよいでしょうか?
これを実現するには、drop_duplicates の機能とサブセット パラメーターを利用できます。重複をチェックする列のリストを指定すると、それらの列の任意の組み合わせで一致する行が確実に削除されます。
次の例を考えてみましょう。
A B C 0 foo 0 A 1 foo 1 A 2 foo 1 B 3 bar 1 A
私たちの目標は次のとおりです。列 A と列 C の両方で一致する行を削除します。これにより、行 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 に設定すると、重複する行がすべて削除されます。
結果の DataFrame は次のようになります。
A B C 0 foo 0 A 2 foo 1 B 3 bar 1 A
行 0 と 1 は、一致したため削除されました。 A と C の両方を使用し、これらの列に基づいて DataFrame を効果的に一意化します。
以上がPandas の複数の列にわたる重複行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。