posts - 15,  comments - 0,  views - 750

动手学习数据分析 第2章

本文是Datawhale的组队学习动手学习数据分析的学习笔记,课件内容来源于Datawhale的团队;代码部分参考了b站up主橘子冰的一隅角落的系列视频

第一节 数据清洗及特征处理

刚拿到的数据通常是不干净的,即数据中存在缺失值、重复值、异常点等,需要经过处理后再进行分析和建模。

2.1 缺失值观察与处理

2.1.1 任务一:缺失值观察

#方法一
df.info()
#方法二
df.isnull().sum()
#方法三
df[['Age','Cabin','Embarked']].head(3)

2.1.2 任务二:对缺失值进行处理

使用dropna函数与fillna函数来实现对缺失值的处理。

dropn函数的用法: 用于删除空值

dropna(axis,how,thresh,subset,inplace)

  • axis:默认为0,0代表行,代表列
  • how:默认为any,删除空值所在的行或者列(取决于axis的取值);参数为all时,只删除全为空值的行或列,若不全为空值则不起作用
  • thresh:当参数为x时,表示保留空值的数量小于x的每一行或者是每一列(取决于axis的取值)
  • subset:指定删除特定行或列的空值所在的列或行,如果axis=0,表示如果指定行x中有空值,则删除所在的列;如果axis=1,表示如果指定列x有空值,则删除空值所在的行
  • inplace:默认为False,即原数据不受影响;参数为True时,表示改变原数据

fillna函数的用法: 用于填充空值

fillna(axis,mthod,limit,inplace)

  • axis:默认为0,取0为按照列填充,取1为按照行填充
  • method:表示填充的方式,如果为‘ffill’,使用前一个数据填充;如果为‘bfill’,使用后一个数据填充。可省略
  • limit:限制填充的空值的个数
  • inplace:默认为False,即原数据不受影响;参数为True时,表示改变原数据

2.2 重复值观察与处理

2.2.1 任务一:请查看数据中的重复值

使用duplicated检测数据是否重复。

duplicated函数的用法:

DataFrame.duplicated(subsete, keep)

  • subset:默认为None,即检测所有的列。若subset指定部分列则只检测这些列

  • keep:可选的集合 {'first', 'last', False},默认是 ‘first’。这个域决定了如何去标识重复行。

    first:将除第一次出现以外的重复数据标记为True

    last:将除最后一次出现以外的重复数据标记为True

    False:将所有重复的项都标记为True(不管是不是第一次出现)

  • inplace:同上

2.2.2 任务二:对重复值进行处理

使用drop_duplicates处理重复值。

drop_duplicates函数的用法:

DataFrame.drop_duplicates(subsete, keep)

所有的参数用法与duplicated函数相同

2.2.3 任务三:将前面清洗的数据保存为csv格式

DataFrame.to_csv(文件名)

2.3 特征观察与处理

可以将特征值分为两类,即数值型特征和文本型特征。

数值型特征一般可以直接用于模型的训练,但有时候为了模型的稳定性及鲁棒性会对连续变量进行离散化。

文本型特征往往需要转换成数值型特征才能用于建模分析。

posted on   人间烟火天上星  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示