パンダでの重複インデックス行の効率的な削除
パンダでは、重複したインデックス値がさまざまなソースから発生する可能性があります。これらの冗長性を効果的に排除するには、基礎となるメカニズムを理解し、さまざまなシナリオに最適なソリューションを採用することが重要です。
一般的なアプローチの 1 つは、drop_duplicates メソッドを利用することです。ただし、特に大規模なデータセットを操作する場合は、パフォーマンスが大幅に低下する可能性があります。あるいは、groupby メソッドは、インデックス値に基づいて行をグループ化し、重複していない最初または最後の行を選択することで、より効率的なオプションを提供します。
ただし、最も効率的な解決策は、duplicated メソッドを直接使用することです。パンダのインデックス。 keep 引数を「first」として指定すると、このメソッドは重複したインデックスを示すブール系列を返します。重複した値を持つ行は、ブール型インデックスを使用してフィルターで除外できます。
たとえば、次の DataFrame を考えてみましょう:
Sta Precip1hr Precip5min Temp DewPnt WindSpd WindDir AtmPress Date 2001-01-01 00:00:00 KPDX 0 0 4 3 0 0 30.31 2001-01-01 00:05:00 KPDX 0 0 4 3 0 0 30.30 2001-01-01 00:10:00 KPDX 0 0 4 3 4 80 30.30 2001-01-01 00:15:00 KPDX 0 0 3 2 5 90 30.30 2001-01-01 00:20:00 KPDX 0 0 3 2 10 110 30.28
重複したインデックス値を排除するには、次のコードを使用できます。
df = df[~df.index.duplicated(keep='first')]
このソリューションは効率的かつ簡潔で、pandas DataFrame から重複したインデックス行を削除する便利な方法を提供します。
以上がパンダで重複したインデックス行を効率的に削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。