zoukankan      html  css  js  c++  java
  • PostgreSQL-13-缺失值处理

    -- 1、查看缺失值
    CREATE TABLE dnull AS SELECT * FROM data; -- 复制数据
    SELECT * FROM dnull WHERE
    房屋编码 IS NULL OR
    小区 IS NULL OR
    朝向 IS NULL OR
    房屋单价 IS NULL OR
    参考首付 IS NULL OR
    参考总价 IS NULL OR
    经度 IS NULL OR
    纬度 IS NULL; -- 查询缺失值


    -- 2、缺失值处理方法1:删除
    DELETE FROM dnull WHERE 房屋单价 IS NULL; -- 删除单列缺失值
    DELETE FROM dnull WHERE
    房屋编码 IS NULL OR
    小区 IS NULL OR
    朝向 IS NULL OR
    房屋单价 IS NULL OR
    参考首付 IS NULL OR
    参考总价 IS NULL OR
    经度 IS NULL OR
    纬度 IS NULL; -- 删除多列数据


    -- 3、缺失值处理方法2:均值填充
    SELECT AVG(房屋单价) FROM dnull; -- 查看均值(如果为空则该列没有有效数据)
    UPDATE dnull
    SET 房屋单价 = (SELECT AVG(房屋单价) FROM dnull)
    WHERE 房屋单价 IS NULL; -- 直接填充均值


    -- 4、缺失值处理方法2:众数填充
    SELECT 朝向,COUNT(朝向) FROM dnull GROUP BY 朝向 ORDER BY COUNT(朝向) DESC;
    SELECT 参考总价,COUNT(参考总价) FROM dnull GROUP BY 参考总价 ORDER BY COUNT(参考总价) DESC; -- 查询众数
    -- 这里注意了,一般越离散的数据越适用
    UPDATE dnull SET 参考总价 =
    (
    WITH zs AS (SELECT 参考总价,COUNT(参考总价) FROM dnull GROUP BY 参考总价)
    SELECT MAX(参考总价) FROM zs
    )
    WHERE 参考总价 IS NULL; -- 直接填充众数
    -- 这里通过WITH语句来筛选众数的最大值


    -- 注意:当数据本身有特殊含义的时候,尽量不填充缺失值,直接删除数据即可,例如一个街镇的人口数等

  • 相关阅读:
    成都58同城快速租房的爬虫,nodeJS爬虫
    `qs.parse` 的简单实现
    使用windbg定位内存问题【入门级】
    C#正则实现匹配一块代码段
    Zeebe服务学习3-Raft算法与集群部署
    Zeebe服务学习2-状态机
    Zeebe服务学习1-简单部署与实现demo
    C#后端接收前端的各种类型数据
    大话设计模式--单例模式具体使用
    大话设计模式--DI(依赖注入)
  • 原文地址:https://www.cnblogs.com/swefii/p/10778513.html
Copyright © 2011-2022 走看看