首頁  >  文章  >  後端開發  >  如何刪除 Pandas 中的重複列?

如何刪除 Pandas 中的重複列?

Linda Hamilton
Linda Hamilton原創
2024-11-01 20:17:02887瀏覽

How to Remove Duplicate Columns in Pandas?

如何刪除Pandas 中的重複列

如果您正在處理具有重複列的DataFrame,您可能需要刪除它們出於資料一致性或分析目的。這裡有一個簡單的解決方案來實現這一點:

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>

機制:

  • df.columns.duplicated() 建立一個布林數組,其中True 表示重複列名稱,False 表示唯一名稱。
  • 套用 ~(邏輯否定)會翻轉此數組,只選擇不重複的欄位。
  • df.loc[:,...] 使用布林索引用於選擇這些不重複的列,有效地刪除重複項。
  • copy() 確保使用刪除的重複項建立一個新的 DataFrame,而原始 DataFrame 不受影響。

注意:此方法根據列名稱而不是列值檢查重複項。

替代方法:

刪除重複項索引:

<code class="python">df = df.loc[~df.index.duplicated(),:].copy()</code>

這使用與上面類似的機制刪除任何重複的行,但它檢查索引而不是列名稱。

以值刪除重複項(警告):

<code class="python">df = df.loc[:,~df.apply(lambda x: x.duplicated(),axis=1).all()].copy()</code>

此方法會掃描每一列,如果該列中的所有值都重複,則將其刪除。但是,應謹慎使用它,因為它檢查值而不是列名稱,並且可能無法在所有情況下產生所需的結果。

以上是如何刪除 Pandas 中的重複列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn