数据分析-数据清理流程二

下面我们通过一个简单例子来梳理数据清理步骤,也可以直接打开我的项目查看源代码;

1.收集数据

首页我们要加载项目里的数据集,代码如下:

import pandas as pd
df = pd.read_csv('animals.csv')

2.评估数据

在这一步我们需要查看数据集数据来评估数据集,评估数据集可通过多种方法结合评估数据,通常有head()、info()、describe()、value_counts()、sum()、duplicated();当然这只是简单评估方法,在比较复杂的情景下,可能需要查询数据某个字段的是否有缺失值,或者某些字段在某种情况才有异常值,需要单独刷选出来检查,或者是在某个时间段的数据有问题,不同情况不同分析评估。

本例子比较简单,我们这里只需要用head()来评估数据就行,代码如下:


评估数据

从上图我们可以看出数据集存在以下质量问题,我们记录下来:

质量

  • 每个动物名称前面的 bb
  • 体重和脑重量中小数点使用 ! 而不是 .

3.清理数据

清理数据前,我要copy一份数据进行清理

df_clean = df.copy()

在这里我们就要通过上个流程说的步骤来进行清理数据,如果有不清楚的可以会看我上个流程写的内容(清理流程一)

定义

  • 使用字符串分割,删除每个动物名称前面的 'bb'
  • 在体重和脑重量两列,将 ! 替换为 .

代码

# 使用字符串分割,删除每个动物名称前面的 'bb' 
df_clean['Animal'] = df_clean['Animal'].str[2:]

# 在体重和脑重量两列,将 ! 替换为 . 
df_clean['Body weight (kg)'] = df_clean['Body weight (kg)'].str.replace('!', '.')
df_clean['Brain weight (g)'] = df_clean['Brain weight (g)'].str.replace('!', '.')

测试

重新使用head() 查看数据集是否清理好

df_clean.Animal.head()
清理后数据

注意:代码在这里我们数据清理步骤已完成,在这里大家也可以把清理步骤使用多个定义、代码 和 测试 标题来进行清理,为什么呢?因为,我们数据往往不止质量问题,也有可能有整洁度问题,实际上,你可以立即进行定义、编码和测试。如果你需要清理许多质量和整洁度问题呢?使用多个定义、代码 和 测试 标题这种顺序来清理一个一个的问题,这样结构就比较清晰,也不容易忽略某个问题。

下面我们重新清理,上面评估出的问题有2个,下面我们使用2个定义、代码 和 测试来进行清理数据,

清理2

- 每个动物名称前面的 bb

定义

使用字符串分割,删除每个动物名称前面的 'bb' 。

代码
df_clean['Animal'] = df_clean['Animal'].str[2:]
测试
df_clean.Animal.head()

- 体重和脑重量中小数点使用 ! 而不是 .

定义

在体重和脑重量两列,将 ! 替换为 .

代码
df_clean['Body weight (kg)'] = df_clean['Body weight (kg)'].str.replace('!', '.')
df_clean['Brain weight (g)'] = df_clean['Brain weight (g)'].str.replace('!', '.')
测试
df_clean.Animal.head()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容