基于python的数据清洗案例 |
您所在的位置:网站首页 › 数据清洗例子 › 基于python的数据清洗案例 |
参考文献:余本国.基于python的大数据分析基础及实战[M].北京:中国水利水电出版社,2018.7:158-159. 目前有数据,如图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 |