实验三 使用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个任务。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐