开发者

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

开发者 https://www.devze.com 2024-09-11 09:32 出处:网络 作者: 呀~吼
目录1.数据框模糊查询1.1查询以某某开头的数据1.2查询包含某某的数据1.3查询以某某结尾的数据1.4多条件查询1.5对条件查询结果进行删除2.数据框去重2.1按某列去重2.2按多列去重总结1.数据框模糊查询
目录
  • 1.数据框模糊查询
    • 1.1查询以某某开头的数据
    • 1.2查询包含某某的数据
    • 1.3查询以某某结尾的数据
    • 1.4多条件查询
    • 1.5对条件查询结果进行删除
  • 2.数据框去重
    • 2.1按某列去重
    • 2.2按多列去重
  • 总结

    1.数据框模糊查询

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

    语法格式如下:

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

    1.1查询以某某开头的数据

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

    1.2查询包含某某的数据

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

    1.3查询以某某结尾的数据

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

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

    若遇到下面这样的报错:

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

    可能某列数据元素格式不全是str格式,可能存在int格式等等,因此把某列的数据http://www.devze.com格式统一成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)

    参数编程解析:

    • DataFrame:待去重的数据框。
    • subset:用来指定特定的列。根据指定的列对数据框去重。默认值为None,即DataFrame中一行元素全部相同时才去除。
    • keep:对重复值的处理方式。可选参数有first,last,False。默认值first,即保留重复数据第一条。若选last为保留重复数据的最后一条,若选False则删除全部重复数据。
    • inplace:是否在原数据集上操作。默认值False,返回新数据框(原数据框不改变)。值为True时直接在原数据视图上删重,没有返回值。

    2.1按某列去重

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

    2.2按多列去重

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

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号