python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > DataFrame数据框模糊查询与去重

DataFrame数据框模糊查询与去重方式

作者:呀~吼

数据框模糊查询通常使用contains函数和正则表达式来实现,可以查询以某个字符开头、包含或结尾的数据,若数据类型不一致可能会报错,需统一为str类型,数据框去重则通过drop_duplicates函数实现,可指定列进行去重,并有多种处理重复值的方式

1.数据框模糊查询

数据框查询使用contains函数+正则表达式来实现。

语法格式如下:

data[data.列名.str.contains()]

1.1查询以某某开头的数据

data[data.列名.str.contains('^某某')]

1.2查询包含某某的数据

data[data.列名.str.contains('某某')]

1.3查询以某某结尾的数据

data[data.列名.str.contains('某某$')]

上述DataFrame模糊查询是针对某列数据元素格式全为str格式,方可使用该方法!

若遇到下面这样的报错:

ValueError: Cannot mask with non-boolean array containing NA / NaN values

可能某列数据元素格式不全是str格式,可能存在int格式等等,因此把某列的数据格式统一成str格式就可以了!

解决方法如下:

data['列名']=data['列名'].apply(str)#把非字符串格式改为字符串格式

1.4多条件查询

data[data.source.str.contains('某某|某某1')]

1.5对条件查询结果进行删除

data[-data.source.str.contains('某某|某某1')]

2.数据框去重

数据框去重使用drop_duplicates函数可以按某列去重,也可以按多列去重。

语法格式如下:

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

参数解析:

2.1按某列去重

data.drop_duplicates(subset='列名',keep='first',inplace=False)

2.2按多列去重

data.drop_duplicates(subset=['列名','列名1'],keep='first',inplace=False)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文