实验三 使用pandas进行数据清洗
一、实验目的
练习使用pands完成缺失值数据处理、重复值数据处理、异常值数据处理和格式不一致数据处理。
二、实验内容
根据下面内容完成以下任务:
(1) 任务一:网上招聘数据缺失值处理
(2) 任务二:网上招聘数据重复值处理
(3) 任务三:网上招聘数据异常值处理
(4) 任务四:网上招聘数据格式不一致数据的处理
三、程序代码
任务一:
jobs.dropna(inplace=True)
jobs.to_csv('Python开发职位1.csv',index=False)
任务二:
import pandas as pd
jobs=pd.read_csv('Python开发职位1.csv')
jobs.duplicated()
jobs.drop_duplicates(inplace=True)
jobs.duplicated()
jobs.to_csv('Python开发职位2.csv',index=False)
任务三:
import pandas as pd
jobs=pd.read_csv('Python开发职位2.csv')
jobs['薪资']
for i in range(len(jobs['薪资'])):
jobs.loc[i,'薪资']=jobs['薪资'][i].split('-')[0]
jobs.loc[i,'薪资']=float(jobs.loc[i,'薪资'])*1000
jobs.rename(columns={'薪资':'最低月薪'},inplace=True)
jobs['最低月薪']
import matplotlib.pyplot as plt
plt.boxplot(jobs['最低月薪'])
jobs['最低月薪'][3]=jobs['最低月薪'][3]*10
jobs.sort_values(by='最低月薪',ascending=False)
jobs.to_csv('Python开发职位3',index=False)
任务四:
import pandas as pd
jobs=pd.read_csv('Python开发职位3.csv',encoding="utf_8_sig")
city=[]
for i in range(len(jobs['地区'])):
temp=jobs['地区'][i].split('-')
jobs.loc[i,'地区']=temp[1]
if'市区' in temp[0]:
city.append(temp[0])
else:
city.append(temp[0]+'市')
jobs.insert(2,'城市',value=city)
jobs
jobs['发布日期']=pd.to_datetime(jobs['发布日期'])
jobs
四、实验结果
任务一
任务二
任务三
任务四
五、出现的问题和解决方法
出现的问题:找不到薪资这一列,导致输出最低月薪的时候报错,如下图所示:
解决办法:把前面的代码连起来,如下图所示:
六、实验心得
通过本次实验,让我练习学会使用pands完成缺失值数据处理、重复值数据处理、异常值数据处理和格式不一致数据处理。成功的完成了4个任务。