首頁 >後端開發 >Python教學 >如何刪除 Pandas 中特定列中的重複行?

如何刪除 Pandas 中特定列中的重複行?

Patricia Arquette
Patricia Arquette原創
2024-12-14 06:03:14653瀏覽

How to Drop Duplicate Rows Across Specific Columns in Pandas?

使用Python Pandas 刪除多列中具有重複值的行

pandas drop_duplicates 函數是一個強大的工具,用於從DataFrame 中刪除重複行,但是如果您只想要刪除子集重複的行列?

範例

考慮以下 DataFrame:

A B C
foo 0 A
foo 1 A
foo 1 B
bar 1 A

假設您想要刪除與 A 欄位和 C 欄位相符的行。在這種情況下,您需要刪除第 0 行和第 1 行。

將 drop_duplicates 與 keep 一起使用參數

要實現此目的,您可以使用 drop_duplicates 函數,並將 keep 參數設為 False。此參數指定如何處理重複行。預設情況下,keep 設定為first,這表示將保留第一次出現的重複行。將 keep 設為 False 將刪除所有重複的行。

以下程式碼示範如何刪除A 列和C 列中具有重複值的行:

import pandas as pd

df = pd.DataFrame({"A": ["foo", "foo", "foo", "bar"], "B": [0, 1, 1, 1], "C": ["A", "A", "B", "A"]})

# Drop rows with duplicate values in columns 'A' and 'C'
df = df.drop_duplicates(subset=['A', 'C'], keep=False)

print(df)

輸出:

  A  B  C
2 foo  1  B
3 bar  1  A

如您所見,第0行和第1 行已被刪除,因為它們與A 列和C 列重複。

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

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