ホームページ > バックエンド開発 > Python チュートリアル > Pandas で連続する重複を効率的に削除する方法は?

Pandas で連続する重複を効率的に削除する方法は?

Mary-Kate Olsen
リリース: 2024-11-13 17:29:02
オリジナル
635 人が閲覧しました

How to Efficiently Drop Consecutive Duplicates in Pandas?

Pandas での連続する重複の効率的な削除

pandas DataFrame を使用する場合、多くの場合、重複値を削除する必要があります。ただし、組み込みのdrop_duplicates() メソッドは、連続した重複を含む重複値のすべてのインスタンスを削除します。連続した重複のみを削除する必要がある場合には、より効率的な方法を利用できます。

1 つの方法には、shift() 関数の使用が含まれます。 DataFrame をそのシフトされたバージョン (a.shift(-1)) と比較することにより、連続した重複が発生する場所を識別するブール マスクを作成できます。次の例に示すように、このマスクを使用して一意の値のみを選択できます。

a.loc[a.shift(-1) != a]
ログイン後にコピー

別の方法では diff() 関数を利用します。行間の差異を計算し、連続する重複を識別するために使用できます。ただし、大規模なデータセットの場合は、shift() メソッドよりも遅くなります。

使用:

a.loc[a.diff() != 0]
ログイン後にコピー

元の回答では、期間 -1 でshift() を使用することを提案していましたが、正しい使用法です。デフォルトのシフト期間は 1 なので、shift(1) (または単純にshift()) です。この変更により、最初の連続した値のみが返されるようになります:

a.loc[a.shift(1) != a]
ログイン後にコピー

shift() と diff() の両方これらのメソッドは、Pandas で連続する重複を削除する効率的な方法を提供するものであり、特定のコンテキストとパフォーマンス要件に基づいて検討する必要があります。

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

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