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语句来筛选众数的最大值


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

  • 相关阅读:
    Python 之pymysql数据库模块
    Python 之sqlite3数据库模块
    Python 之操作sqlite3
    Python 之requests网络请求模块
    Python 之os文件目录模块
    Python 之json模块
    Python 之random随机数模块
    vue.js三种安装方式
    VUE学习之计算属性computed
    vue添加背景音乐
  • 原文地址:https://www.cnblogs.com/swefii/p/10778513.html
Copyright © 2011-2022 走看看