
- Python Pandas 教程
- Python Pandas - 首頁
- Python Pandas - 簡介
- Python Pandas - 環境設定
- Python Pandas - 基礎
- Python Pandas - 資料結構介紹
- Python Pandas - 索引物件
- Python Pandas - 面板
- Python Pandas - 基本功能
- Python Pandas - 索引和資料選擇
- Python Pandas - Series
- Python Pandas - Series
- Python Pandas - 切片 Series 物件
- Python Pandas - Series 物件的屬性
- Python Pandas - Series 物件上的算術運算
- Python Pandas - 將 Series 轉換為其他物件
- Python Pandas - DataFrame
- Python Pandas - DataFrame
- Python Pandas - 訪問 DataFrame
- Python Pandas - 切片 DataFrame 物件
- Python Pandas - 修改 DataFrame
- Python Pandas - 從 DataFrame 中刪除行
- Python Pandas - DataFrame 上的算術運算
- Python Pandas - I/O 工具
- Python Pandas - I/O 工具
- Python Pandas - 使用 CSV 格式
- Python Pandas - 讀取和寫入 JSON 檔案
- Python Pandas - 從 Excel 檔案讀取資料
- Python Pandas - 將資料寫入 Excel 檔案
- Python Pandas - 使用 HTML 資料
- Python Pandas - 剪貼簿
- Python Pandas - 使用 HDF5 格式
- Python Pandas - 與 SQL 的比較
- Python Pandas - 資料處理
- Python Pandas - 排序
- Python Pandas - 重索引
- Python Pandas - 迭代
- Python Pandas - 連線
- Python Pandas - 統計函式
- Python Pandas - 描述性統計
- Python Pandas - 處理文字資料
- Python Pandas - 函式應用
- Python Pandas - 選項和自定義
- Python Pandas - 視窗函式
- Python Pandas - 聚合
- Python Pandas - 合併/連線
- Python Pandas - 多級索引
- Python Pandas - 多級索引基礎
- Python Pandas - 使用多級索引進行索引
- Python Pandas - 使用多級索引的高階重索引
- Python Pandas - 重新命名多級索引標籤
- Python Pandas - 對多級索引進行排序
- Python Pandas - 二元運算
- Python Pandas - 二元比較運算
- Python Pandas - 布林索引
- Python Pandas - 布林掩碼
- Python Pandas - 資料重塑和透視表
- Python Pandas - 透視表
- Python Pandas - 堆疊和取消堆疊
- Python Pandas - 熔化
- Python Pandas - 計算虛擬變數
- Python Pandas - 類別資料
- Python Pandas - 類別資料
- Python Pandas - 類別資料的排序和排序
- Python Pandas - 比較類別資料
- Python Pandas - 處理缺失資料
- Python Pandas - 缺失資料
- Python Pandas - 填充缺失資料
- Python Pandas - 缺失值的插值
- Python Pandas - 刪除缺失資料
- Python Pandas - 使用缺失資料進行計算
- Python Pandas - 處理重複項
- Python Pandas - 重複資料
- Python Pandas - 計數和檢索唯一元素
- Python Pandas - 重複標籤
- Python Pandas - 分組和聚合
- Python Pandas - GroupBy
- Python Pandas - 時間序列資料
- Python Pandas - 日期功能
- Python Pandas - Timedelta
- Python Pandas - 稀疏資料結構
- Python Pandas - 稀疏資料
- Python Pandas - 視覺化
- Python Pandas - 視覺化
- Python Pandas - 其他概念
- Python Pandas - 注意事項和陷阱
- Python Pandas 有用資源
- Python Pandas - 快速指南
- Python Pandas - 有用資源
- Python Pandas - 討論
Python Pandas - 重複資料
重複資料是指資料集中出現多次的行。重複資料可能由於各種原因而發生,例如資料收集錯誤、重複記錄或合併資料集。識別和刪除重複項是資料預處理和資料分析中的一項基本任務,以避免出現錯誤的結果。
考慮此包含學生姓名和出生日期的示例資料集 -
學生 | 出生日期 |
---|---|
Rahul | 2017年12月1日 |
Raj | 2018年4月14日 |
Rahul | 2017年12月1日 |
在此資料集中,第一行和最後一行包含重複值,表明“Rahul”是重複條目。
Python Pandas 庫提供了兩種主要方法duplicated() 和 drop_duplicates() 用於有效地管理重複資料。這些方法用於識別和清理包含重複項的資料集。
在本教程中,我們將學習如何識別重複項、檢查特定列中的重複項以及使用 Pandas 刪除它們。
識別 DataFrame 中的重複項
Pandas DataFrame.duplicated() 方法用於識別 DataFrame 中的重複行。預設情況下,它考慮所有列來識別重複項並將它們標記為 True,除了第一次出現。
此方法返回一個布林 Series,指示一行是否重複,其中 -
False:該行不是重複項(即,它是第一次出現)。
True:該行是 DataFrame 中另一行的重複項。
示例
以下是使用duplicated() 方法識別 Pandas DataFrame 重複項的基本示例。
import pandas as pd # Sample dataset df = pd.DataFrame({ 'Name': ['Rahul', 'Raj', 'Rahul'], 'Date_of_Birth': ['01 December 2017', '14 April 2018', '01 December 2017']}) print("Original DataFrame:") print(df) # Find duplicates in the DataFrame result = df.duplicated() # Display the resultant Duplicates print('\nResult after finding the duplicates:') print(result)
以下是上述程式碼的輸出 -
Original DataFrame:
Name | Date_of_Birth |
---|---|
Rahul | 01 December 2017 |
Raj | 14 April 2018 |
Rahul | 01 December 2017 |
在此示例中,第三行被標記為重複項,因為它與第一行具有相同的值。
識別特定列上的重複項
要根據特定列查詢重複項,請使用duplicated() 方法的subset 引數。
示例
以下示例演示瞭如何使用duplicated() 方法的subset 引數在特定列上識別重複值。
import pandas as pd # Sample dataset df = pd.DataFrame({ 'Name': ['Rahul', 'Raj', 'Rahul', 'Karthik', 'Arya', 'Karthik'], 'Date_of_Birth': ['01 December 2017', '14 April 2018', '01 December 2017', '14 July 2000', '26 May 2000', '14 July 2000'], 'City': ['Hyderabad', 'Chennai', 'Kolkata', 'Hyderabad', 'Chennai', 'Hyderabad']}) print("Original DataFrame:") print(df) # Find duplicates in the DataFrame result = df.duplicated(subset=['Name', 'City']) # Display the resultant Duplicates print('\nResult after finding the duplicates:') print(result)
以下是上述程式碼的輸出 -
Original DataFrame:
Name | Date_of_Birth | City | |
---|---|---|---|
0 | Rahul | 01 December 2017 | Hyderabad |
1 | Raj | 14 April 2018 | Chennai |
2 | Rahul | 01 December 2017 | Kolkata |
3 | Karthik | 14 July 2000 | Hyderabad |
4 | Arya | 26 May 2000 | Chennai |
5 | Karthik | 14 July 2000 | Hyderabad |
刪除重複項
drop_duplicates() 方法用於從 DataFrame 中刪除重複行。預設情況下,它考慮所有列並保留每個重複行的第一次出現,同時刪除其餘部分。
示例
此示例使用drop_duplicates() 方法從 Pandas DataFrame 中刪除重複行。
import pandas as pd # Sample dataset df = pd.DataFrame({ 'Name': ['Rahul', 'Raj', 'Rahul', 'Karthik', 'Arya', 'Karthik'], 'Date_of_Birth': ['01 December 2017', '14 April 2018', '01 December 2017', '14 July 2000', '26 May 2000', '14 July 2000'], 'City': ['Hyderabad', 'Chennai', 'Kolkata', 'Hyderabad', 'Chennai', 'Hyderabad']}) print("Original DataFrame:") print(df) # Drop duplicates in the DataFrame result = df.drop_duplicates() # Display the resultant Duplicates print('\nResult after finding the duplicates:') print(result)
以下是上述程式碼的輸出 -
Original DataFrame:
Name | Date_of_Birth | City | |
---|---|---|---|
0 | Rahul | 01 December 2017 | Hyderabad |
1 | Raj | 14 April 2018 | Chennai |
2 | Rahul | 01 December 2017 | Kolkata |
3 | Karthik | 14 July 2000 | Hyderabad |
4 | Arya | 26 May 2000 | Chennai |
5 | Karthik | 14 July 2000 | Hyderabad |
Name | Date_of_Birth | City | |
---|---|---|---|
0 | Rahul | 01 December 2017 | Hyderabad |
1 | Raj | 14 April 2018 | Chennai |
2 | Rahul | 01 December 2017 | Kolkata |
3 | Karthik | 14 July 2000 | Hyderabad |
4 | Arya | 26 May 2000 | Chennai |
刪除特定列中的重複項
您還可以使用drop_duplicates() 方法的subset 引數根據特定列刪除重複項。
示例
此示例使用drop_duplicates() 方法的subset 引數根據特定列刪除 DataFrame 的重複資料。
import pandas as pd # Sample dataset df = pd.DataFrame({ 'Name': ['Rahul', 'Raj', 'Rahul', 'Karthik', 'Arya', 'Karthik'], 'Date_of_Birth': ['01 December 2017', '14 April 2018', '01 December 2017', '14 July 2000', '26 May 2000', '14 July 2000'], 'City': ['Hyderabad', 'Chennai', 'Kolkata', 'Hyderabad', 'Chennai', 'Hyderabad']}) print("Original DataFrame:") print(df) # Drop duplicates in the DataFrame result = df.drop_duplicates(subset=['Date_of_Birth']) # Display the resultant Duplicates print('\nResult after finding the duplicates:') print(result)
以下是上述程式碼的輸出 -
Original DataFrame:
Name | Date_of_Birth | City | |
---|---|---|---|
0 | Rahul | 01 December 2017 | Hyderabad |
1 | Raj | 14 April 2018 | Chennai |
2 | Rahul | 01 December 2017 | Kolkata |
3 | Karthik | 14 July 2000 | Hyderabad |
4 | Arya | 26 May 2000 | Chennai |
5 | Karthik | 14 July 2000 | Hyderabad |
Name | Date_of_Birth | City | |
---|---|---|---|
0 | Rahul | 01 December 2017 | Hyderabad |
1 | Raj | 14 April 2018 | Chennai |
3 | Karthik | 14 July 2000 | Hyderabad |
4 | Arya | 26 May 2000 | Chennai |