最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中drop_duplicates()函數(shù)的具體使用

 更新時(shí)間:2026年04月17日 09:21:47   作者:林深時(shí)見(jiàn)鹿1  
本文主要介紹了python中drop_duplicates()函數(shù)的具體使用,介紹了其四個(gè)核心參數(shù)subset、keep、inplace和ignore_index,具有一定的參考價(jià)值,感興趣的可以了解一下

一、基礎(chǔ)語(yǔ)法

# DataFrame 使用
df.drop_duplicates(
    subset=None,
    keep="first",
    inplace=False,
    ignore_index=False
)
# Series 使用(用法一致)
s.drop_duplicates(keep="first", inplace=False)

參數(shù)說(shuō)明

參數(shù)說(shuō)明默認(rèn)值
subset指定檢查重復(fù)的列名或列名列表None(所有列)
keep保留哪個(gè)重復(fù)值:'first'/'last'/False'first'
inplace是否原地修改False
ignore_index是否重置索引False

二、4 個(gè)核心參數(shù)(必看)

這是理解這個(gè)函數(shù)的關(guān)鍵,每個(gè)參數(shù)都有明確用途:

1.subset:指定判斷重復(fù)的列

  • 默認(rèn)值:None整行所有列都相同才算重復(fù)
  • 用法:傳入列名列表,比如 subset=["姓名", "年齡"] → 只有這兩列都相同才判定為重復(fù)

2.keep:保留哪一行

  • keep="first"(默認(rèn)):保留第一次出現(xiàn)的行,刪除后面重復(fù)的
  • keep="last"保留最后一次出現(xiàn)的行,刪除前面重復(fù)的
  • keep=False把所有重復(fù)行全部刪除,一條都不留

3.inplace:是否直接修改原數(shù)據(jù)

  • inplace=False(默認(rèn)):返回一個(gè)新的 DataFrame,原數(shù)據(jù)不變
  • inplace=True直接在原數(shù)據(jù)上刪除重復(fù)行,不返回新對(duì)象

4.ignore_index:是否重置索引

  • ignore_index=False(默認(rèn)):刪除后保留原來(lái)的索引
  • ignore_index=True:刪除后重置索引為 0,1,2...

三、最直觀的示例(一看就懂)

先創(chuàng)建一個(gè)帶重復(fù)數(shù)據(jù)的 DataFrame:

import pandas as pd
data = {
    "姓名": ["小明", "小紅", "小明", "小明", "小紅"],
    "科目": ["數(shù)學(xué)", "語(yǔ)文", "數(shù)學(xué)", "英語(yǔ)", "語(yǔ)文"],
    "分?jǐn)?shù)": [90, 85, 90, 88, 85]
}
df = pd.DataFrame(data)
print(df)

輸出:

   姓名  科目  分?jǐn)?shù)
0  小明  數(shù)學(xué)   90
1  小紅  語(yǔ)文   85
2  小明  數(shù)學(xué)   90  ← 重復(fù)行
3  小明  英語(yǔ)   88
4  小紅  語(yǔ)文   85  ← 重復(fù)行

示例 1:默認(rèn)用法(整行重復(fù)才刪,保留第一次)

df_new = df.drop_duplicates()
print(df_new)

結(jié)果:行 0、1、3、4 保留,行 2 刪除。

示例 2:只按某幾列判斷重復(fù)

# 只要【姓名+科目】重復(fù)就算重復(fù)
df_new = df.drop_duplicates(subset=["姓名", "科目"])

示例 3:保留最后一次出現(xiàn)的重復(fù)行

df_new = df.drop_duplicates(keep="last")

示例 4:徹底刪除所有重復(fù)行(一條不留)

df_new = df.drop_duplicates(keep=False)

示例 5:直接修改原數(shù)據(jù) + 重置索引

df.drop_duplicates(inplace=True, ignore_index=True) 

四、高頻實(shí)用場(chǎng)景總結(jié)

整表去重

df.drop_duplicates() 

按關(guān)鍵字段去重(最常用)

df.drop_duplicates(subset=["ID", "訂單號(hào)"]) 

保留最新數(shù)據(jù)

df.drop_duplicates(subset=["用戶ID"], keep="last") 

找出所有完全唯一的數(shù)據(jù)

df.drop_duplicates(keep=False) 

五、重要注意事項(xiàng)

  1. 區(qū)分 drop_duplicates() 和 unique()
    • drop_duplicates() → 返回DataFrame
    • unique() → 返回一維數(shù)組(numpy array)
  2. 空值 NaN 會(huì)被視為相同值兩行都有 NaN,會(huì)被判定為重復(fù)
  3. 不修改原數(shù)據(jù)(默認(rèn))想直接覆蓋原數(shù)據(jù)必須加 inplace=True

總結(jié)

drop_duplicates() 就是 pandas 去重神器,核心記住 4 點(diǎn):

  1. subset 定判斷重復(fù)的列
  2. keep 定保留哪條重復(fù)數(shù)據(jù)
  3. inplace 定是否改原數(shù)據(jù)
  4. ignore_index 定是否重置索引

到此這篇關(guān)于python中drop_duplicates()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)python drop_duplicates() 使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

乌鲁木齐县| 桃源县| 襄汾县| 岱山县| 高阳县| 沧州市| 英德市| 临汾市| 泸定县| 江陵县| 苏尼特左旗| 荣成市| 昭通市| 凤冈县| 天长市| 伽师县| 佛冈县| 桓台县| 蕉岭县| 延寿县| 天峨县| 沁水县| 余庆县| 文昌市| 隆回县| 绥滨县| 怀集县| 淮北市| 容城县| 肥东县| 建始县| 定边县| 阳城县| 托克托县| 太康县| 阿瓦提县| 靖宇县| 丰城市| 修文县| 松潘县| 措美县|