一、需求:
對爬取的csv文件進行數據清洗
運用內容:pandas、正則表達式
二、簡單分析:
共176條數據
其中,分析目標以全職為准,但職位名稱包含實習信息,需要刪除掉。

數據方面:csv保存格式為str,運用正則表達式提取數值工作經驗去平均值,工資按市場情況,取工資范圍前25%。

三、代碼:
import pandas as pd df = pd.read_csv('lagou8.4jobs.csv',encoding='utf-8-sig') #print(df.describe()) #共175條信息,其中包含了實習信息需要清洗掉 df.drop(df[df['職位名稱'].str.contains('實習')].index,inplace=True) #print(df.describe()) #67條 pattern = '\d+' #正則表達式 獲取所有數字 df['工作經驗'] = df['工作經驗'].str.findall(pattern) #print(df['工作經驗']) avg_work_year = [] for i in df['工作經驗']: if len(i) == 0: avg_work_year.append(0) else: num = [int(j) for j in i] avg = sum(num)/2 avg_work_year.append(avg) #print(avg_work_year) df['工作經驗'] = avg_work_year df['工資'] = df['工資'].str.findall(pattern) #print(df['工資']) avg_salary = [] for i in df['工資']: num = [int(j) for j in i] #print(num) avg = num[0]+(num[1]-num[0])/4 print(avg) avg_salary.append(avg) df['工資'] = avg_salary df.to_csv('clear_data.csv', index = False,encoding='utf-8-sig')
其間遇到問題:
一開始csv文件名為中文,導入期間遇到編碼問題‘utf-8’無法解析,后查證修改文件名,以utf-8編碼模式保存即可。
