python中drop_duplicates()函數的具體使用
一、基礎語法
# DataFrame 使用
df.drop_duplicates(
subset=None,
keep="first",
inplace=False,
ignore_index=False
)
# Series 使用(用法一致)
s.drop_duplicates(keep="first", inplace=False)參數說明
| 參數 | 說明 | 默認值 |
|---|---|---|
subset | 指定檢查重復的列名或列名列表 | None(所有列) |
keep | 保留哪個重復值:'first'/'last'/False | 'first' |
inplace | 是否原地修改 | False |
ignore_index | 是否重置索引 | False |
二、4 個核心參數(必看)
這是理解這個函數的關鍵,每個參數都有明確用途:
1.subset:指定判斷重復的列
- 默認值:
None→ 整行所有列都相同才算重復 - 用法:傳入列名列表,比如
subset=["姓名", "年齡"]→ 只有這兩列都相同才判定為重復
2.keep:保留哪一行
keep="first"(默認):保留第一次出現的行,刪除后面重復的keep="last":保留最后一次出現的行,刪除前面重復的keep=False:把所有重復行全部刪除,一條都不留
3.inplace:是否直接修改原數據
inplace=False(默認):返回一個新的 DataFrame,原數據不變inplace=True:直接在原數據上刪除重復行,不返回新對象
4.ignore_index:是否重置索引
ignore_index=False(默認):刪除后保留原來的索引ignore_index=True:刪除后重置索引為 0,1,2...
三、最直觀的示例(一看就懂)
先創(chuàng)建一個帶重復數據的 DataFrame:
import pandas as pd
data = {
"姓名": ["小明", "小紅", "小明", "小明", "小紅"],
"科目": ["數學", "語文", "數學", "英語", "語文"],
"分數": [90, 85, 90, 88, 85]
}
df = pd.DataFrame(data)
print(df)輸出:
姓名 科目 分數
0 小明 數學 90
1 小紅 語文 85
2 小明 數學 90 ← 重復行
3 小明 英語 88
4 小紅 語文 85 ← 重復行
示例 1:默認用法(整行重復才刪,保留第一次)
df_new = df.drop_duplicates() print(df_new)
結果:行 0、1、3、4 保留,行 2 刪除。
示例 2:只按某幾列判斷重復
# 只要【姓名+科目】重復就算重復 df_new = df.drop_duplicates(subset=["姓名", "科目"])
示例 3:保留最后一次出現的重復行
df_new = df.drop_duplicates(keep="last")
示例 4:徹底刪除所有重復行(一條不留)
df_new = df.drop_duplicates(keep=False)
示例 5:直接修改原數據 + 重置索引
df.drop_duplicates(inplace=True, ignore_index=True)
四、高頻實用場景總結
整表去重
df.drop_duplicates()
按關鍵字段去重(最常用)
df.drop_duplicates(subset=["ID", "訂單號"])
保留最新數據
df.drop_duplicates(subset=["用戶ID"], keep="last")
找出所有完全唯一的數據
df.drop_duplicates(keep=False)
五、重要注意事項
- 區(qū)分 drop_duplicates() 和 unique()
- drop_duplicates() → 返回DataFrame
- unique() → 返回一維數組(numpy array)
- 空值 NaN 會被視為相同值兩行都有 NaN,會被判定為重復
- 不修改原數據(默認)想直接覆蓋原數據必須加 inplace=True
總結
drop_duplicates() 就是 pandas 去重神器,核心記住 4 點:
- subset 定判斷重復的列
- keep 定保留哪條重復數據
- inplace 定是否改原數據
- ignore_index 定是否重置索引
到此這篇關于python中drop_duplicates()函數的具體使用的文章就介紹到這了,更多相關python drop_duplicates() 使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用pdf2image實現PDF轉圖片的完整指南
pdf2image 是一個用于將 PDF 文件轉換為圖像的 Python 庫,它基于強大的 poppler-utils 工具集,提供簡單高效的 PDF 到圖像的轉換功能,本文給大家介紹了Python使用pdf2image實現PDF轉圖片的完整指南,需要的朋友可以參考下2025-11-11
Python Pandas pandas.read_sql函數實例用法
在本篇文章里小編給大家整理的是一篇關于Python Pandas pandas.read_sql函數詳解內容,有需要的朋友們可以學習下。2021-06-06

