基于python的数据清洗案例

您所在的位置:网站首页 数据清洗例子 基于python的数据清洗案例

基于python的数据清洗案例

2024-07-12 16:23| 来源: 网络整理| 查看: 265

参考文献:余本国.基于python的大数据分析基础及实战[M].北京:中国水利水电出版社,2018.7:158-159. 目前有数据,如图1所示。处理数据中的重复值、异常值、空值、多余的空格。 图1 各位同学的各科学习成绩 处理过程: (1)数据导入 数据导入代码:

import pandas as pd df = pd.read_excel(r'C:\Users\Administrator\Desktop\rz.xlsx') df.shape # 查看数据“形状”

运行结果: (2)查找数据中的重复行,并将其删除 查找重复行代码:

df.duplicated()

运行结果: 显示代码:

df[df.duplicated()]

运行结果: 删除重复行代码:

df1=df.drop_duplicates() df1.shape

运行结果: (3)查看空数据,并以0填充 查看空数据所在列代码:

df1.isnull().any() #判断哪些列存在缺失值

运行结果: 显示存在缺失值行的代码:

df1[df1.isnull().values==Ture]

运行结果: 将空数据填充为0的代码:

df2=df1.fillna(0) df2 #查看数据

运行结果: (4)处理数据中的空格

df0=df2.copy() #为了数据安全,先copy一份 df0['解几']=df2['解几'].astype(str).map(str.strip)

(5)查看列数据类型 查看列数据类型代码:

for i in list(df0.columns): if df0[i].dtype=='O': #若某列全部是int,则显示该列为Int列型,否则为object print(i)

运行结果: 查看‘解几’列数据类型代码:

df0['解几'].dtype

运行结果: 将其转换为int 类型代码:

df0['解几']=df2['解几'].astype(int) df0['解几'].dtype

运行结果: (6)用0填充非int 型数据 以0填充体育列非int型数据代码:

ty=list(df0.体育) j=0 for i in ty: if type(i) !=int: #判断“体育”列中的数据是否均为int类型 print('第'+str(ty.index(i))+'行有非int数据:',i) #若不是,则打印非int值及其所在的行号 ty[j]=0 #用0替换该非int格式的值 j=j+1 ty df0['体育'] = ty #将替换过的List放回原df0中

运行结果: 以0填充军训列非int型数据代码:

jx=list(df0.军训) k=0 for i in jx: if type(i) != int: print('第'+str(jx.index(i))+'行有非 int 数据:',i) jx[k]=0 k =k+1 df0['军训'] = jx df0

运行结果: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3