首页 > 其他分享 >数据治理——数据清洗

数据治理——数据清洗

时间:2024-12-24 12:02:33浏览次数:6  
标签:name 填充 df True column 治理 清洗 数据

数据清洗(Data Cleaning)是大数据处理中的一个重要步骤,它涉及到识别并纠正或删除错误的、不完整、不准确或不相关的记录。数据清洗的目标是提高数据的质量,确保分析结果的有效性和可靠性。以下是一些常见的数据清洗步骤:

  1. 缺失值处理

    • 检查数据集中是否存在空值或者缺失值。isnull() 或者 isna() 方法  or  dropna() 方法
    • 对于缺失值,可以选择填充(使用平均值、中位数或其他统计方法)、删除或者预测填充。
      使用固定值:例如使用0或其他常数填充缺失值。
      
      df.fillna(0)
      ​使用统计值:如平均数、中位数或众数等。
      ​
      # 使用均值填充数值型列
      df['column_name'].fillna(df['column_name'].mean(), inplace=True)
      
      # 使用中位数填充
      df['column_name'].fillna(df['column_name'].median(), inplace=True)
      
      # 使用众数填充分类变量
      df['column_name'].fillna(df['column_name'].mode()[0], inplace=True)
      向前或向后填充:对于时间序列数据,可以考虑使用前一个或后一个观测值来填充缺失值。
      
      df.fillna(method='ffill')  # 向前填充
      df.fillna(method='bfill')  # 向后填充
  2. 噪声数据处理

    • 去除或修正那些明显错误的数据点,比如录入错误或者测量误差。
    • 使用算法来检测异常值,并决定如何处理这些异常值。
  3. 一致性检查

    • 确保数据在不同字段间的一致性。例如,日期格式应该统一,单位应该一致等。
      标准化日期格式:
      
      df['date_column'] = pd.to_datetime(df['date_column'], errors='coerce')
      
      指定日期格式:
      
      df['date_column'] = pd.to_datetime(df['date_column'], format='%Y-%m-%d', errors='coerce')
      
      # 假设有一列 'distance',其中有些值以米记录,有些以公里记录
      df['distance'] = df.apply(lambda row: row['distance'] * 1000 if row['unit'] == 'km' else row['distance'], axis=1)
      df.drop(columns=['unit'], inplace=True)  # 如果不再需要单位列,可以删除
    • 处理不同来源数据之间的冲突,使数据集之间能够正确地关联起来。
  4. 重复数据处理

    • 检查并合并重复的记录。有时候数据集中会包含完全相同的记录多次出现。
      df.duplicated(keep=False)查看是否有重复
    • 删除重复项,或者在保留一个副本的同时标记其他副本以备后用。
      df[df.duplicated()]
      df.drop_duplicated(keep="first", inplace=True)# 删除重复数据,并保留第一行
      df.reset_index(drop=True)# 将序号连贯
  5. 数据转换

    • 将数据转换成适合进一步分析的形式。这可能包括编码类别变量为数值,标准化数值范围等。
      df.info() # 观察各列的类型、缺失值情况
      df["列名"]=  df["列名"].astype("数据类型")
      df["列名"].head
    • 转换日期、货币和其他非数字数据为适当的格式以便于计算和分析。
  6. 数据标准化/规范化

    • 标准化数据,使其遵循特定的分布(如正态分布),或者将其缩放到一定的范围内(如0到1之间)。
  7. 数据增强

    • 通过增加额外的信息来丰富现有数据集。例如,通过外部数据库添加地理位置信息等。

数据清洗是一个迭代的过程,通常需要多次循环进行,直到数据集达到足够的质量标准。随着技术的发展,自动化工具和机器学习算法也被用来辅助数据清洗过程,以提高效率和准确性。

标签:name,填充,df,True,column,治理,清洗,数据
From: https://blog.csdn.net/Mooczx/article/details/144659057

相关文章

  • (2024最新毕设合集)基于SpringBoot的小说在线阅读网咖+86615|可做计算机毕业设计JAVA、P
    目 录摘要1绪论1.1 选题背景1.2研究内容1.3本文的组织结构2相关技术介绍2.1MySQL数据库2.2Java编程语言2.3SpringBoot框架介绍3 系统需求分析与设计3.1可行性分析3.1.1技术可行性分析3.1.2经济可行性分析3.1.3法律可行性分析3.2需......
  • IndexedDB:前端存储新宠,数据库的“特种兵”
    indexedDB是不可靠存储,会在c盘空间不足时,自动清空,极易丢失数据。web的离线功能,就是能存一些数据,包括图片到本地,等可以上网的时候再把这些数据更新到服务器的数据库。IndexedDB具有以下特点IndexedDB数据库是存储键值对的非关系型数据库。IndexedDB内部采用对象仓库(object......
  • 【数据库开发】探索数据库智能运维之数据库关键运行指标
    随着金融业务转型步伐加快、业务连续性要求趋严,对金融业信息系统运行的稳定性要求日益提升。数据库作为信息系统中关键技术基础,如何应用数据库海量运行数据,提升运行指标数据观测性,及时发现数据库运行潜在风险,是G行数据库管理团队一直探索的课题。数据库管理团队负责G行所有生产数......
  • 数据采集与传输无障碍 简化设备,解决数据传输 解决隧道深部监测难题 摆脱信号盲区的困
    数据采集与传输无障碍简化设备,解决数据传输解决隧道深部监测难题摆脱信号盲区的困扰根据实际情况和工程环境,我们特别推出了一种一站式现场监测方案,旨在方便快捷地完成隧道深部及信号盲区部分的施工监测。我们利用设备的优势,尽量简化了设备的种类,解决了无信号工况下的数据采集......
  • E10——在线建档,单头取单身行的数据
      练习:到货单单头的付款条件:自动带单身来源单号(采购订单)的付款条件:Context.GetEntityProperty('PURCHASE_ORDER.PURCHASE_ORDER_D.PURCHASE_ORDER_SD',{'PURCHASE_ORDER_SD_ID':ActiveObject.PURCHASE_ARRIVAL_D[0].SOURCE_ID.ROid},('Parent.Parent.PAYMENT_TERM_......
  • 从客户跟进到数据分析,协作工具全链路赋能门店
    传统汽车门店的销售模式,正因数字化的快速推进而发生变革。随着客户期望不断提高、竞争加剧,汽车门店销售团队的协作效率已成为业务成功的关键。而在这一转型过程中,在线协作文档工具凭借其灵活高效的特性,成为门店数字化升级的关键助力。汽车销售管理的典型困局1.跨部门协作效率低......
  • 如何为数据库设置字符集和排序规则以支持多语言字符
    设置数据库的字符集和排序规则是一个重要的步骤,尤其是当你需要确保数据库能够正确处理多语言字符,包括中文。以下是设置字符集和排序规则的一般步骤:1.确定需求:首先,确定你的应用程序需要支持的语言和字符。这将帮助你选择最合适的字符集。2.选择字符集:选择一个能够支持你所......
  • 【案例分享】使用Capella数据和SARscape监测矿区的变化
    在为项目选择影像数据时,有许多因素需要考虑。每个项目都有独特的需求,选择的数据类型会对结果产生重大影响。在本案例中,介绍Capella雷达数据在露天采矿应用中的应用。 为什么选择Capella数据Capella数据具有良好的空间分辨率,分辨率高达25厘米,时间覆盖范围一致,重访率高达每2-4......
  • 数据预拉取
    数据预拉取预拉取能够在小程序冷启动的时候通过微信后台提前向第三方服务器拉取业务数据,当代码包加载完时可以更快地渲染页面,减少用户等待时间,从而提升小程序的打开速度。使用流程1.配置数据下载地址数据来源为开发者服务器时支持配置灰度比例,灰度数据下载地址可以区别于数......
  • 处理MYSQL 插入数据时主键相同的场景:新增?替换?忽略?
    在MySQL中,如果你尝试插入一条记录,其主键(或唯一约束字段)与已有记录的主键相同,会根据不同的操作方式产生不同的结果。以下是常见情况及其处理方式:1.使用INSERT语句如果你使用标准的INSERT语句并尝试插入一条记录,但其主键与已存在的记录冲突,会出现错误,通常是类似以下的错误......