duplicated()
是 Pandas 中的一個函數,用于檢查 DataFrame 或 Series 中的重復項
刪除重復行:
使用 drop_duplicates()
函數可以直接刪除 DataFrame 中的重復行。這個函數會返回一個新的 DataFrame,其中不包含重復項。你可以選擇只保留第一次出現的重復項,或者只保留最后一次出現的重復項。
import pandas as pd
# 創建一個包含重復數據的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 刪除重復行,只保留第一次出現的重復項
df_no_duplicates = df.drop_duplicates()
# 刪除重復行,只保留最后一次出現的重復項
df_no_duplicates_last = df.drop_duplicates(keep='last')
根據特定列查找重復項:
你可以使用 duplicated()
函數來查找 DataFrame 中特定列的重復項。例如,如果你想要找到列 ‘A’ 中的重復值,可以這樣做:
import pandas as pd
# 創建一個包含重復數據的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找列 'A' 中的重復項
duplicates = df.duplicated(subset=['A'])
# 打印重復項的布爾值
print(duplicates)
根據多個列查找重復項:
要根據多個列查找重復項,只需將這些列名作為列表傳遞給 duplicated()
函數的 subset
參數。例如,如果你想要找到同時在列 ‘A’ 和 ‘B’ 中有重復值的行,可以這樣做:
import pandas as pd
# 創建一個包含重復數據的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找列 'A' 和 'B' 中的重復項
duplicates = df.duplicated(subset=['A', 'B'])
# 打印重復項的布爾值
print(duplicates)
使用 duplicated()
結果進行篩選:
你可以將 duplicated()
函數的結果與布爾索引結合起來,以僅選擇重復的行或非重復的行。例如,要選擇所有重復的行,可以這樣做:
import pandas as pd
# 創建一個包含重復數據的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找重復項
duplicates = df.duplicated()
# 選擇重復的行
duplicate_rows = df[duplicates]
# 打印重復的行
print(duplicate_rows)
通過結合 Pandas 的其他函數,你可以輕松地使用 duplicated()
對數據進行處理。