Python學習筆記:pd.drop_duplicates刪除重復行


drop_duplicates 方法實現對數據框 DataFrame 去除特定列的重復行,返回 DataFrame 格式數據。

一、使用語法及參數

使用語法:

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)

參數:

subset -- 指定特定的列 默認所有列
keep:{'first', 'last', False} -- 刪除重復項並保留第一次出現的項 默認第一個
    keep=False -- 表示刪除所有重復項 不保留
inplace -- 是否直接修改原對象
ignore_index=True -- 重置索引 (version 1.0.0 才有這個參數)

二、實操

1.例子一

import pandas as pd
df = pd.DataFrame({'a':[1,1,2,2],
                   'b':['a','b','a','b']})

# 單列
df.drop_duplicates('b', 'first', inplace=True)
print(df)
'''
   a  b
0  1  a
1  1  b
'''

# 多列
df.drop_duplicates(subset=['a', 'b'], keep='first', inplace=False)

# 刪除所有重復項 不保留
df.drop_duplicates(subset=['a', 'b'], False)

2.例子二

# 構建測試數據框
import pandas as pd
df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]
})

# 默認按所有列去重
df.drop_duplicates()

# 指定列
df.drop_duplicates(subset=['brand'])

# 保留最后一個重復值
df.drop_duplicates(subset=['brand', 'style'], keep='last')

3.刪除重復項后重置索引

# 方法一
df.drop_duplicates(ignore_index=True)

# 方法二
df.drop_duplicates().reset_index(drop=True)

# 方法三
df.index = range(df.shape[0])

參考鏈接:drop_duplicates去重詳解

參考鏈接:Pandas之drop_duplicates:去除重復項

參考鏈接:pandas.DataFrame.drop_duplicates

參考鏈接:如何使用drop_duplicates進行簡單去重(入門篇)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM