在数据挖掘中,数据清洗是前期准备工作,对于数据科学家来说,我们会遇到各种各样的数据,在分析前,要投入大量的时间和精力把数据“整理裁剪”成自己想要或需要的样子。使得数据标准、干净、连续,为后续数据统计、数据挖掘做好准备。
使用 Pandas 库对数据清洗
原始数据如图:
这些数据缺少标注,有些出现空值,food列中有重复数据,ounces 列有空值和负数,animal 有大小写不一致,这些都要处理掉,最后获得一份纯净的有用的数据
下面,我们就依照“完全合一”的准则,使用Pandas来进行清洗。
完整性
问题1:缺失值
删除 空列
df.drop(‘Unnamed: 3’, axis=1, inplace=True)
df.drop(‘Unnamed: 4’, axis=1, inplace=True)
df.drop(‘Unnamed: 5’, axis=1, inplace=True)
df.drop(‘Unnamed: 6’, axis=1, inplace=True)
使用当前列的均值填补空值
df[‘Ounces’].fillna(df[‘Ounces’].mean(), inplace=True)
全面性
问题:列数据的单位不统一
字符全部转化成小写,保持字符一致
df[‘Animal’]= df[‘Animal’].str.lower()
df[‘food’]= df[‘food’].str.lower()
合法性
Ounces列出现负数,取绝对值
df[‘Ounces’]= df[‘Ounces’].apply(lambda x: abs(x))
唯一性
我们校验一下数据中是否存在重复记录。如果存在重复记录,就使用 Pandas 提供的 drop_duplicates() 来删除重复数据。
df.drop_duplicates([‘food’],inplace=True)
实战代码如下
import pandas as pd import numpy as np from pandas import Series, DataFrame //读取文件 df = pd.read_csv('./test.csv') print(df) df.drop('Unnamed: 3', axis=1, inplace=True) df.drop('Unnamed: 4', axis=1, inplace=True) df.drop('Unnamed: 5', axis=1, inplace=True) df.drop('Unnamed: 6', axis=1, inplace=True) df['Ounces'].fillna(df['Ounces'].mean(), inplace=True) df['Ounces']= df['Ounces'].apply(lambda x: abs(x)) df['Animal']= df['Animal'].str.lower() df['food']= df['food'].str.lower() df.drop_duplicates(['food'],inplace=True) print(df)
12345678910111213141516171819相关知识
实战YOLOv8:从COCO到自定义数据集的训练全攻略
Python爬虫入门教程31:爬取猫咪交易网站数据并作数据分析
宝可梦数据集分析及预测
数据清洗之数据转换
Python pandas 数据清洗(二)
Python 数据清洗
VOC2012数据清洗
元宝宠物从0~1宠物短视频带货实战课
机器学习实战笔记3(决策树与随机森林)
社交媒体数据分析的可视化展示:让数据讲述故事
网址: 从0到1数据分析实战学习笔记(二)数据清洗 https://m.mcbbbk.com/newsview475155.html
上一篇: 长春水箱清洗消毒专业公司 |
下一篇: 北京壁挂炉维修清洗服务中心电话= |