Python isinstance() 函数以及 drop_duplicate( )函数

 isinstance() 

作用:isinstance() 函数来判断一个对象是否是一个已知的类型

用法:

isinstance(object, classinfo)

 参数:

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

 

drop_duplicate()

作用:pandas使用drop_duplicates去除DataFrame重复项参数详解

用法:

drop_duplicates(subset, keep='first', inplace=false)

参数:

  • subset -- 列名,如subset=['A','B']表示只考虑这两列,将这两列对应值相同的行进行去重。默认值为subset=None表示考虑所有列
  • keep --保留哪个, keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。
  • inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。

返回值:dataframe

 

Example

def read_sheet(path, drop_duplicates_subset=True, **kwargs):
    path = Path(path)
    assert path.exists()
    ext = path.suffix.lower()
    if ext in ('.xlsx', '.xls'):
        sheet = pd.read_excel(path, **kwargs)
    elif ext in ('.tsv', '.csv', '.txt'):
        if ext == '.tsv':
            kwargs.setdefault('sep', '\t')
        kwargs.setdefault('na_filter', False)
        kwargs.setdefault('dtype', object)
        sheet = pd.read_csv(path, **kwargs)
    else:
        raise NotImplementedError
    
    if drop_duplicates_subset: # 源数据哪一列去重
        if isinstance(drop_duplicates_subset, bool):
            subset = None
        else:
            subset = drop_duplicates_subset
        sheet = sheet.drop_duplicates(subset=subset) # drop_duplicates(subset, keep, inplace)
    
    return sheet

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值