高效率刪除 pandas 中的重複索引行
在 pandas 中,重複的索引值可能來自多種來源。為了有效消除這些冗餘,了解底層機制並針對不同場景採用最合適的解決方案至關重要。
常見的方法是使用 drop_duplicates 方法。但是,它可能會導致效能顯著下降,尤其是在處理大型資料集時。或者,groupby 方法透過根據行的索引值對行進行分組並選擇第一個或最後一個非重複行來提供更有效的選項。
然而,最有效的解決方案是直接使用重複方法熊貓索引。透過將 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 中刪除重複索引行的便捷方法。
以上是如何有效刪除 pandas 中的重複索引行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!