csv文件數據清洗


一、需求:

對爬取的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編碼模式保存即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM