zoukankan      html  css  js  c++  java
  • 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进行简单去重(入门篇)

  • 相关阅读:
    IE浏览器请求数据是提示下载的问题
    jS清除浏览器缓存
    JS获取时间戳
    keycode
    JS简单解决并发量
    写移动端流氓方法,无意看到,分享下
    CSS中的rem的换算
    jsp会话监听
    jsonp在jsp中的使用
    Java中的位运算符
  • 原文地址:https://www.cnblogs.com/hider/p/15400108.html
Copyright © 2011-2022 走看看