当前位置:   article > 正文

SparkSQL数据清洗API_spark 数据清洗 随机替换

spark 数据清洗 随机替换

一、去重方法 dropDuplicates

  • 功能:对DF的数据进行去重,如果重复数据有多条,取第一条

    # 去重API dropDuplicates,无参数是对数据进行整体去重
    df.dropDuplicates().show()
    # API 同样可以针对字段进行去重,如下传入age字段,表示只要年龄一样,就认为是重复数据
    df.dropDuplicates(['age', 'job']).show()
    
    • 1
    • 2
    • 3
    • 4

二、删除有缺失值的方法 dropna

  • 功能:如果数据中包含null,通过dropna来进行判断,符合条件就删除这一行的数据

    # 如果有缺失,进行数据删除
    # 无参数 为 how='any',执行,只要有一个列是null数据整行删除,如果填入how='all',表示全部列为空才会删除,how参数默认是any
    df.dropna().show()
    # 指定阈值进行删除,thresh=3表示,有效的列最少有3个,这行数据才保留
    # 设定thresh后,how参数无效了
    df.dropna(thresh=3).show()
    # 可以指定阈值,以及配合指定列进行工作
    # thresh=2,subset=['name','age'],表示针对这两个列,有效列最少为2个才保留数据
    df.dropna(thresh=2,subset=['name','age']).show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

三、填充缺失值数据 fillna

  • 功能:根据参数的规则,来进行null的替换

    # 将所有的空,按照指定的值进行填充,不理会列的,任何空都被填充
    df.fillna("loss").show()
    # 指定列进行填充
    df.fillna("loss", subset=['job']).show()
    # 给定字典 设定各个列的填充规则
    df.fillna({"name": "未知姓名", "age": 1, "job": "worker"}).show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/747496
推荐阅读
相关标签
  

闽ICP备14008679号