数据清洗操作及众所周知【数据分析】

各位大佬好 ,这里是阿川的博客 , 祝您变得更强

个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力

阿川水平有限,如有错误,欢迎大佬指正

前面的 博客
数据分析---技术栈和开发环境搭建
数据分析---Numpy和Pandas库基本用法及实例

Python初阶
Python--语言基础与由来介绍
Python--注意事项
Python--语句与众所周知
数据清洗前 必看
数据分析---三前奏:获取/ 读取/ 评估数据

这是目录

  • 清洗乱数据
    • 基本操作
    • 清洗
  • 清洗脏数据
  • 元素类型转换
  • 保存数据

清洗乱数据

针对结构类乱数据

不符合以下特征

基本操作

引入

  • 基本上操作DataFrame的方法 ,一般是不改变 原始的DataFrame
  • Series和DataFrame 几乎是不可分割 Series组成了 DataFrame,数据分析中,有大量针对 DataFrame和Series进行的操作

须知道的:

  • 清洗索引和列名

    • set_index 重设索引

    • reset_index 重置索引

    • sort_index 对索引排序

    • rename index 重命名索引

    • rename columns 重命名列名

      • inplace = True 该参数表示在原先DataFrame基础上永久替换
    • drop 删除列或者索引

      • axis=0 删除行
      • axis=1 删除列
  • str类方法

清洗

  • 列和行相反
    • 转置 .T
  • 对列进行拆分
    • split 可以指定分隔符 进行拆分
      • str.split元素进行拆分
        • 参数 expand=True 表示将分割后结果 单独用Series表示
  • 不同列合并成一列
    • str.cat
    • sep参数 以什么分隔符合并
  • 宽数据转化成长数据
    • melt
    • id_vars 表示不动原先的列
  • 行进行拆分
    • 拆解更多的行
      • explode列中的元素 拆分成更多行
        • 适用列表类型
      • 若列中元素字符串类型 ,则用eval 转化成列表类型

清洗脏数据

内容上(即脏数据)进行清洗

  • 丢失数据
    loc 对某个缺失值处理

fillna 对缺失值处理

  • dropna 自动找行缺失值且自动删除
  • 重复数据
    • drop_duplicates 删除 重复第2个数据
      • subset 参数 指定列
      • keep 进行指定保留
  • 错误/不一致数据
    • replace 进行替换

元素类型转换

不同的DataFrame元素类型 可能不同

  • astype 更改类型
  • 数据有两种元素类型
    • 分类数据
    • 例如 奖牌 金银铜三 可能
      • category 分类数据类型 后面虚拟变量铺垫
        • 由于 category非pandas库 中的类型,所以说要更改类型为category,需要字符串
  • 数值数据
    • 例如 0~1区间有很多数值

保存数据

  • to_csv 保存格式为csv
    • index=False 参数 表示自动忽略索引

好的,到此为止啦,祝您变得更强

道阻且长 行则将至

个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力

相关推荐
哆啦A梦的口袋呀2 分钟前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
恰薯条的屑海鸥5 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
十月狐狸5 分钟前
Python字符串进化史:从青涩到成熟的蜕变
python
盛寒34 分钟前
自然语言处理 目录篇
大数据·自然语言处理
东京老树根41 分钟前
SAP学习笔记 - 开发27 - 前端Fiori开发 Routing and Navigation(路由和导航)
笔记·学习
狐凄1 小时前
Python实例题:Python计算线性代数
开发语言·python·线性代数
西猫雷婶1 小时前
pytorch基本运算-导数和f-string
人工智能·pytorch·python
述雾学java1 小时前
深入理解 transforms.Normalize():PyTorch 图像预处理中的关键一步
人工智能·pytorch·python
武子康1 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
要努力啊啊啊1 小时前
使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
数据库·人工智能·python·深度学习·自然语言处理·sqlite