ホームページ  >  記事  >  バックエンド開発  >  Pandas で連続する重複を削除するにはどうすればよいですか?

Pandas で連続する重複を削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-15 04:09:02116ブラウズ

How to Remove Consecutive Duplicates in Pandas?

Pandas での連続した重複の削除

Pandas のdrop_duplicates() メソッドはすべての重複値を削除するのに効果的ですが、連続した重複を識別しません。 。この制限に対処するために、連続する重複のみを選択的に削除する効率的な方法があります。

1 つのアプローチでは、シフト関数を使用して現在の値を前の値と比較します。

a.loc[a.shift() != a]

このロジックは次の値を返します。連続する重複が False 値によって特徴付けられるマスク。次に、loc メソッドは True 値を持つ行のみを選択し、連続する重複を効果的に削除します。

別のメソッドは diff 関数を利用して変更を検出します。

a.loc[a.diff() != 0]

ただし、このアプローチは効率が低くなります。微分計算に関連するオーバーヘッドのため、大規模なデータセットの場合。

Update

デフォルトのシフト期間は 1 であるため、shift() と SHIFT( 1) 同等の結果を生成します:

a.loc[a.shift(1) != a]

これにより、最初の連続する値が重複として正しく識別されます。

以上がPandas で連続する重複を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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