Pandas のインデックスに基づいて重複行を削除する方法
データ分析では、多くの場合、データ内の重複行を特定して削除する必要があります。データセット。データ操作用の人気のある Python ライブラリである Pandas を使用する場合、複数の行が同じインデックス値を共有するシナリオが発生することがあります。この問題は、データ入力エラーや意図しない重複などの理由で発生する可能性があります。
重複行の例
1 時間ごとに取得された観測を表す次の気象データフレームについて考えてみましょう。間隔:
この DataFrame では、「2001-01-01 00:00:00」の観測が DataFrame の最後に複製されていることに注目してください。データをクリーンアップするには、これらの重複行を削除することが不可欠です。
duplicated メソッドの使用
Pandas は、重複行を識別して選択するために、duplicated と呼ばれる効率的なメソッドを提供します。このメソッドは、DataFrame 内のすべての列に基づいて重複行を考慮します。 keep パラメーターを渡すことにより、各重複グループの最初の出現を保持するか、最後の出現を保持するかを指定できます。
この場合、インデックスに基づいて各重複グループの最初の出現を保持する必要があります:
このアプローチでは、DataFrame のインデックスを直接操作する Pandas Index オブジェクトの複製メソッドを利用します。 ~ を使用して結果を否定することで、重複としてマークされていない行を選択します。 keep='first' を指定すると、各重複インデックス グループの最初のインスタンスが確実に保持されます。
パフォーマンスに関する考慮事項
さまざまなメソッドのパフォーマンスに注意することが重要です。重複行を削除する方法は、データと特定の条件によって異なります。ベンチマークの結果、指定された例では、重複メソッドが最もパフォーマンスが高く、次に groupby メソッド、reset_index().drop_duplicates().
が続くことがわかりました。以上がPandas のインデックスに基づいて重複行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。