版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
目錄
1引言1
1.1項(xiàng)目背景1
1.2開發(fā)環(huán)境與工具1
1.2.1Python簡(jiǎn)介1
1.2.2MySQL簡(jiǎn)介1
2需求分析2
2.1可行性需求分析2
2.2數(shù)據(jù)采集目標(biāo)分析2
2.2.1車輛信息采集2
2.2.2交易信息采集2
2.2.3用戶行為信息采集3
2.2.4競(jìng)爭(zhēng)對(duì)手信息采集3
2.3關(guān)鍵技術(shù)分析3
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)3
2.3.2數(shù)據(jù)清洗與處理技術(shù)3
2.3.3數(shù)據(jù)分析與挖掘技術(shù)4
2.3.4數(shù)據(jù)可視化技術(shù)4
3數(shù)據(jù)采集4
3.1目標(biāo)網(wǎng)站分析4
3.2數(shù)據(jù)字段分析4
3.3爬蟲編程實(shí)現(xiàn)5
3.4數(shù)據(jù)存儲(chǔ)6
4數(shù)據(jù)清洗與處理7
4.1數(shù)據(jù)清洗7
4.2數(shù)據(jù)轉(zhuǎn)換7
4.3數(shù)據(jù)儲(chǔ)存8
4.4編程實(shí)現(xiàn)8
5數(shù)據(jù)統(tǒng)計(jì)與分析9
5.1數(shù)據(jù)準(zhǔn)備9
5.2數(shù)據(jù)探索性分析9
5.3數(shù)據(jù)可視化10
5.3.1車輛價(jià)格區(qū)間分析12
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.3.2車型與優(yōu)惠力度分析12
5.3.3車輛銷售前五的最高最低成交價(jià)13
5.3.4銷售量前五的市場(chǎng)占比分析13
6小結(jié)與展望14
6.1項(xiàng)目成果總結(jié)14
6.2經(jīng)驗(yàn)教訓(xùn)與改進(jìn)15
6.3未來(lái)工作展望15
參考資料16
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于Python的汽車之家新車數(shù)據(jù)爬取與分析
1引言
在信息技術(shù)飛速發(fā)展的今天,數(shù)據(jù)已經(jīng)成為了一種寶貴的資源。對(duì)于汽車行
業(yè)而言,新車數(shù)據(jù)的獲取與分析對(duì)于市場(chǎng)研究、競(jìng)爭(zhēng)策略制定以及消費(fèi)者行為理
解等方面都具有重要意義。汽車之家網(wǎng)作為國(guó)內(nèi)領(lǐng)先的汽車信息服務(wù)平臺(tái),其新
車數(shù)據(jù)豐富、更新及時(shí),是眾多汽車行業(yè)從業(yè)者和研究者關(guān)注的重要數(shù)據(jù)源。因
此,本項(xiàng)目旨在通過(guò)Python編程語(yǔ)言和相關(guān)工具,爬取汽車之家網(wǎng)上的新車數(shù)
據(jù),并進(jìn)行初步的分析和處理。
1.1項(xiàng)目背景
隨著互聯(lián)網(wǎng)的普及和大數(shù)據(jù)技術(shù)的發(fā)展,網(wǎng)絡(luò)爬蟲作為一種自動(dòng)化獲取網(wǎng)頁(yè)
信息的技術(shù)手段,被廣泛應(yīng)用于各個(gè)領(lǐng)域。在汽車行業(yè),通過(guò)對(duì)汽車之家等汽車
信息網(wǎng)站的數(shù)據(jù)爬取,可以獲取到大量關(guān)于新車價(jià)格、配置、銷量等方面的信息。
這些信息對(duì)于汽車廠商的市場(chǎng)定位、產(chǎn)品改進(jìn)以及銷售策略的制定都具有重要的
參考價(jià)值。同時(shí),對(duì)于消費(fèi)者而言,通過(guò)對(duì)這些數(shù)據(jù)的分析,可以更好地了解市
場(chǎng)動(dòng)態(tài),為購(gòu)車決策提供數(shù)據(jù)支持。
1.2開發(fā)環(huán)境與工具
為了保證項(xiàng)目的順利進(jìn)行,需要選擇合適的開發(fā)環(huán)境和工具。下面將簡(jiǎn)要介
紹本項(xiàng)目中使用的Python編程語(yǔ)言、MySQL數(shù)據(jù)庫(kù)以及JupyterNotebook開發(fā)
環(huán)境。
1.2.1Python簡(jiǎn)介
Python是一種解釋型、面向?qū)ο?、?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言。它具
有語(yǔ)法簡(jiǎn)潔、易讀易寫、功能強(qiáng)大且豐富的庫(kù)支持等特點(diǎn),使得它在數(shù)據(jù)分析、
人工智能、網(wǎng)絡(luò)爬蟲等領(lǐng)域得到了廣泛應(yīng)用。在本項(xiàng)目中,我們將使用Python
編寫爬蟲程序,實(shí)現(xiàn)對(duì)汽車之家網(wǎng)新車數(shù)據(jù)的爬取和處理。
1.2.2MySQL簡(jiǎn)介
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前
屬于Oracle旗下產(chǎn)品。它使用結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理,具有體
積小、速度快、成本低等特點(diǎn)。在本項(xiàng)目中,我們將使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)爬
取到的新車數(shù)據(jù),以便后續(xù)的分析和處理。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
2需求分析
在進(jìn)行汽車之家網(wǎng)新車數(shù)據(jù)爬取與分析之前,必須對(duì)項(xiàng)目的需求進(jìn)行詳細(xì)分
析,確保爬取的數(shù)據(jù)既滿足后續(xù)的數(shù)據(jù)處理與分析需求,又遵守法律法規(guī)和道德
標(biāo)準(zhǔn)。需求分析通常包括可行性分析、目標(biāo)分析等方面。
2.1可行性需求分析
在進(jìn)行新車數(shù)據(jù)爬取之前,首先需要分析項(xiàng)目的可行性,主要包括以下幾個(gè)
方面:
技術(shù)可行性:評(píng)估是否擁有或能夠獲得所需的技術(shù)和工具,以及團(tuán)隊(duì)是否具
備相關(guān)的技術(shù)能力來(lái)執(zhí)行項(xiàng)目。對(duì)于本項(xiàng)目來(lái)說(shuō),技術(shù)可行性主要考慮Python
爬蟲技術(shù)的成熟度和團(tuán)隊(duì)對(duì)Python、網(wǎng)絡(luò)請(qǐng)求處理、HTML解析等技術(shù)的掌握
程度。
法律可行性:分析項(xiàng)目是否違反了版權(quán)法、反不正當(dāng)競(jìng)爭(zhēng)法等相關(guān)法律法規(guī)。
由于本項(xiàng)目涉及從第三方網(wǎng)站爬取數(shù)據(jù),因此需要特別關(guān)注目標(biāo)網(wǎng)站的robots.txt
文件,確保爬取行為不違反網(wǎng)站的爬取策略,同時(shí)不侵犯其版權(quán)等合法權(quán)益。
經(jīng)濟(jì)可行性:評(píng)估項(xiàng)目成本是否在經(jīng)濟(jì)上可接受,并考慮項(xiàng)目的經(jīng)濟(jì)效益。
經(jīng)濟(jì)可行性分析需要考慮購(gòu)買和維護(hù)相關(guān)硬件、軟件以及數(shù)據(jù)存儲(chǔ)的成本,同時(shí)
預(yù)估項(xiàng)目能夠帶來(lái)的收益或節(jié)約的開支。
操作可行性:判斷項(xiàng)目實(shí)施后是否能夠方便地進(jìn)行數(shù)據(jù)的管理和維護(hù),以及
是否有足夠的人力資源來(lái)支持項(xiàng)目的持續(xù)運(yùn)營(yíng)。
2.2數(shù)據(jù)采集目標(biāo)分析
數(shù)據(jù)采集目標(biāo)分析旨在明確需要從汽車之家網(wǎng)站爬取的具體數(shù)據(jù)類型和目
標(biāo)頁(yè)面。
2.2.1車輛信息采集
車輛信息采集是本項(xiàng)目的核心需求之一。具體目標(biāo)包括但不限于:
車輛基本信息:車型、車輛圖片等。
購(gòu)車價(jià)格:最低價(jià)格、最高價(jià)格、最高節(jié)省。
2.2.2交易信息采集
交易信息采集可以幫助了解市場(chǎng)動(dòng)態(tài)和銷售情況。具體包括:
新車交易數(shù)據(jù):新車成交量、成交價(jià)格、交易地區(qū)分布等。
優(yōu)惠政策與活動(dòng)信息:限時(shí)優(yōu)惠、貸款方案、購(gòu)車禮包等。
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
用戶評(píng)價(jià)與口碑:真實(shí)購(gòu)車用戶的評(píng)價(jià)和反饋,對(duì)于消費(fèi)者決策具有重要參
考價(jià)值。
2.2.3用戶行為信息采集
用戶行為信息可以為營(yíng)銷策略的制定提供數(shù)據(jù)支持,需要關(guān)注的數(shù)據(jù)點(diǎn)有:
用戶訪問統(tǒng)計(jì):用戶訪問量、訪問時(shí)長(zhǎng)、跳出率等。
用戶興趣偏好:用戶對(duì)不同車型和配置的瀏覽、搜索和對(duì)比行為。
購(gòu)車意向與咨詢:用戶在線咨詢記錄、預(yù)約試駕和意向訂單等信息。
2.2.4競(jìng)爭(zhēng)對(duì)手信息采集
競(jìng)爭(zhēng)對(duì)手信息采集對(duì)于制定競(jìng)爭(zhēng)策略和差異化服務(wù)至關(guān)重要,主要采集內(nèi)容
包括:
競(jìng)品車型信息:競(jìng)爭(zhēng)對(duì)手同類車型的基本信息和價(jià)格配置等。
市場(chǎng)占有率與排名:各競(jìng)爭(zhēng)對(duì)手在不同細(xì)分市場(chǎng)的銷售數(shù)據(jù)和市場(chǎng)排名。
競(jìng)品營(yíng)銷策略分析:競(jìng)爭(zhēng)對(duì)手的廣告投放、線上線下活動(dòng)、促銷策略等。
用戶滿意度調(diào)查:競(jìng)品用戶的評(píng)價(jià)反饋,了解競(jìng)品的優(yōu)缺點(diǎn)和用戶滿意度情
況。
2.3關(guān)鍵技術(shù)分析
在項(xiàng)目的實(shí)施過(guò)程中,將會(huì)涉及一系列的關(guān)鍵技術(shù),這些技術(shù)對(duì)于項(xiàng)目的成
功至關(guān)重要。下面將對(duì)本項(xiàng)目中使用的關(guān)鍵技術(shù)進(jìn)行詳細(xì)分析。
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)
網(wǎng)絡(luò)爬蟲技術(shù)是本項(xiàng)目的基礎(chǔ),它負(fù)責(zé)自動(dòng)化地從汽車之家網(wǎng)站爬取所需的
新車數(shù)據(jù)。爬蟲程序需要處理網(wǎng)絡(luò)請(qǐng)求、HTML解析、數(shù)據(jù)提取和存儲(chǔ)等任務(wù)。
在實(shí)現(xiàn)過(guò)程中,我們將利用Python的requests庫(kù)來(lái)發(fā)送網(wǎng)絡(luò)請(qǐng)求,使用
BeautifulSoup或lxml等庫(kù)來(lái)解析HTML文檔,提取所需的數(shù)據(jù)字段。同時(shí),為
了遵守網(wǎng)站的訪問規(guī)則,爬蟲程序還需要實(shí)現(xiàn)適當(dāng)?shù)恼?qǐng)求延時(shí)、IP代理等策略,
以避免對(duì)目標(biāo)網(wǎng)站造成過(guò)大的訪問壓力。
2.3.2數(shù)據(jù)清洗與處理技術(shù)
爬取到的原始數(shù)據(jù)往往存在格式不規(guī)范、缺失值、異常值等問題,需要進(jìn)行
數(shù)據(jù)清洗和處理才能用于后續(xù)的分析。數(shù)據(jù)清洗包括去除無(wú)關(guān)字符、轉(zhuǎn)換數(shù)據(jù)類
型、處理缺失值和異常值等操作。在本項(xiàng)目中,我們將使用Python的pandas庫(kù)
來(lái)進(jìn)行數(shù)據(jù)清洗和處理工作。pandas提供了豐富的數(shù)據(jù)操作功能,可以方便地對(duì)
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
數(shù)據(jù)進(jìn)行篩選、轉(zhuǎn)換、填充缺失值等操作。此外,我們還需要根據(jù)實(shí)際情況編寫
自定義的清洗規(guī)則,以確保數(shù)據(jù)的準(zhǔn)確性和一致性。
2.3.3數(shù)據(jù)分析與挖掘技術(shù)
數(shù)據(jù)分析與挖掘是項(xiàng)目的核心環(huán)節(jié),它負(fù)責(zé)對(duì)清洗后的數(shù)據(jù)進(jìn)行深入的分析
和挖掘,以發(fā)現(xiàn)數(shù)據(jù)中的潛在規(guī)律和有價(jià)值的信息。在本項(xiàng)目中,我們將使用
Python的數(shù)據(jù)分析庫(kù)(如numpy、pandas等)來(lái)進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)分析、相關(guān)性
分析等操作。同時(shí),為了挖掘數(shù)據(jù)中的潛在模式,我們還將引入機(jī)器學(xué)習(xí)算法(如
聚類分析、分類算法等)來(lái)對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的挖掘和分析。這些分析結(jié)果將為
后續(xù)的決策制定提供有力的數(shù)據(jù)支持。
2.3.4數(shù)據(jù)可視化技術(shù)
數(shù)據(jù)可視化是展示數(shù)據(jù)分析結(jié)果的重要手段,它可以將復(fù)雜的數(shù)據(jù)以直觀、
易理解的方式呈現(xiàn)出來(lái)。在本項(xiàng)目中,我們將使用Python的可視化庫(kù)(如
matplotlib、seaborn等)來(lái)實(shí)現(xiàn)數(shù)據(jù)的可視化展示。通過(guò)繪制柱狀圖、折線圖、
散點(diǎn)圖等圖表,我們可以清晰地展示數(shù)據(jù)的分布特征、變化趨勢(shì)以及不同變量之
間的關(guān)系。這些可視化結(jié)果將有助于我們更好地理解數(shù)據(jù)和分析結(jié)果,為后續(xù)的
決策制定提供直觀的參考依據(jù)。
3數(shù)據(jù)采集
數(shù)據(jù)采集是本項(xiàng)目的基礎(chǔ)工作,它涉及對(duì)目標(biāo)網(wǎng)站的分析、確定需要爬取的
數(shù)據(jù)字段、編寫爬蟲程序以及數(shù)據(jù)存儲(chǔ)等步驟。下面將詳細(xì)介紹這些步驟的實(shí)現(xiàn)
過(guò)程。
3.1目標(biāo)網(wǎng)站分析
在進(jìn)行數(shù)據(jù)采集之前,首先需要對(duì)目標(biāo)網(wǎng)站——汽車之家進(jìn)行詳細(xì)的分析。
這包括了解網(wǎng)站的頁(yè)面結(jié)構(gòu)、數(shù)據(jù)呈現(xiàn)方式、網(wǎng)絡(luò)請(qǐng)求特點(diǎn)等。通過(guò)分析網(wǎng)站的
URL規(guī)律、頁(yè)面源碼結(jié)構(gòu)以及Ajax請(qǐng)求等,我們可以確定如何有效地從網(wǎng)站中
提取所需的數(shù)據(jù)。同時(shí),還需要關(guān)注網(wǎng)站的反爬蟲策略,如robots.txt文件、驗(yàn)
證碼機(jī)制、登錄驗(yàn)證等,以確保我們的爬蟲程序能夠合法、穩(wěn)定地運(yùn)行。
3.2數(shù)據(jù)字段分析
在明確了目標(biāo)網(wǎng)站的特點(diǎn)后,接下來(lái)需要確定具體需要爬取的數(shù)據(jù)字段。根
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
據(jù)項(xiàng)目的需求分析,我們需要爬取的數(shù)據(jù)字段包括車輛的基本信息(車型、價(jià)格
等)、配置參數(shù)(如發(fā)動(dòng)機(jī)類型、最大功率等)、交易信息(如成交量、優(yōu)惠政
策等)以及用戶行為信息(如訪問量、用戶評(píng)價(jià)等)。這些字段的確定將直接影
響到后續(xù)爬蟲程序的編寫和數(shù)據(jù)存儲(chǔ)的設(shè)計(jì)。以下為網(wǎng)站內(nèi)容:
圖3-1目標(biāo)網(wǎng)站
3.3爬蟲編程實(shí)現(xiàn)
在確定了需要爬取的數(shù)據(jù)字段后,就可以開始編寫爬蟲程序了。我們將使用
Python作為編程語(yǔ)言,利用其強(qiáng)大的網(wǎng)絡(luò)請(qǐng)求處理庫(kù)(如requests)來(lái)編寫爬
蟲程序。爬蟲程序的主要任務(wù)包括發(fā)送網(wǎng)絡(luò)請(qǐng)求獲取頁(yè)面內(nèi)容、解析頁(yè)面提取所
需數(shù)據(jù)字段、處理異常情況和反爬蟲策略等。在編寫爬蟲程序時(shí),需要特別注意
遵守網(wǎng)站的訪問規(guī)則,合理設(shè)置請(qǐng)求延時(shí)和并發(fā)量,以避免對(duì)目標(biāo)網(wǎng)站造成過(guò)大
的訪問壓力。車輛信息采集代碼如下:
importrequests
importjson
urls=[]
#爬取30頁(yè)數(shù)據(jù)
foriinrange(30):
#獲取網(wǎng)頁(yè)地址
urls.append(
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
"/handler/other/getdata?__action=dealer.gets
eriesprices&brandid=0&cityId=110100&serieslevel=0&PriceLevel=0&minPrice
=0&maxPrice=0&OrderType=0&pageindex="
+str(i+1)+"&pageSize=24&imgSize=240&_encoding=utf8")
#解析數(shù)據(jù)
request=requests.get(urls[0])
dict_all_data=json.loads(request.text)
list_car_data=dict_all_data.get("result").get("list")
withopen("汽車之家數(shù)據(jù).csv",'w',encoding='utf-8')asf:
f.write("車型,最低價(jià),最高價(jià),最高節(jié)省,車輛圖片網(wǎng)址\n")
forurlinurls:
request=requests.get(url)
dict_all_data=json.loads(request.text)
list_car_data=dict_all_data.get("result").get("list")
#車型,最低價(jià),最高價(jià),最高節(jié)省,車輛圖片網(wǎng)址
foriinlist_car_data:
SeriesName=i.get("SeriesName")
MinOriginalPrice=i.get("MinOriginalPrice")
MaxOriginalPrice=i.get("MaxOriginalPrice")
MaxPriceOff=i.get("MaxPriceOff")
SeriesImg=i.get("SeriesImg")
data=
f"{SeriesName},{MinOriginalPrice},{MaxOriginalPrice},{MaxPriceOff},{Ser
iesImg}\n"
withopen("汽車之家數(shù)據(jù).csv",'a',encoding='utf-8')asf:
f.write(data)
3.4數(shù)據(jù)存儲(chǔ)
我們將爬取到的數(shù)據(jù)存儲(chǔ)在CSV文件中,之后的數(shù)據(jù)清洗和分析可以使用
Pandas庫(kù)處理。當(dāng)然我們也使用MySQL數(shù)據(jù)庫(kù)作為數(shù)據(jù)存儲(chǔ)方案,在存儲(chǔ)數(shù)據(jù)
時(shí),需要設(shè)計(jì)合理的數(shù)據(jù)庫(kù)表結(jié)構(gòu)來(lái)存儲(chǔ)不同字段的數(shù)據(jù),并考慮數(shù)據(jù)的一致性
和完整性。同時(shí),為了提高數(shù)據(jù)存儲(chǔ)的效率和可靠性,我們還可以采用一些優(yōu)化
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
措施,如索引優(yōu)化、分表分庫(kù)等。此外,在數(shù)據(jù)存儲(chǔ)過(guò)程中還需要注意數(shù)據(jù)的安
全性和隱私保護(hù)問題,確保存儲(chǔ)的數(shù)據(jù)不被非法訪問和泄露。
表3-1數(shù)據(jù)庫(kù)設(shè)計(jì)
列名數(shù)據(jù)類型描述
idINT主鍵,自增ID
series_nameVARCHAR(255)車型
min_original_priceVARCHAR(255)最低價(jià)
max_original_priceDECIMAL(16,2)最低價(jià)
max_price_offDECIMAL(16,2)最高節(jié)省
series_imgVARCHAR(255)車輛圖片網(wǎng)址
4數(shù)據(jù)清洗與處理
在數(shù)據(jù)采集完成后,原始數(shù)據(jù)往往包含空值、異常值、重復(fù)值以及缺失值等
問題,這些問題會(huì)直接影響到后續(xù)數(shù)據(jù)分析的準(zhǔn)確性。因此,數(shù)據(jù)清洗與處理是
確保數(shù)據(jù)質(zhì)量的關(guān)鍵步驟。
4.1數(shù)據(jù)清洗
數(shù)據(jù)清洗的主要目的是消除錯(cuò)誤和不一致性,處理無(wú)效值和缺失值等。對(duì)于
本項(xiàng)目,數(shù)據(jù)清洗涉及以下幾個(gè)方面:
去除無(wú)關(guān)字符和HTML標(biāo)簽:原始數(shù)據(jù)中包含網(wǎng)頁(yè)的HTML標(biāo)簽、廣告鏈
接等無(wú)關(guān)字符,需要使用正則表達(dá)式或HTML解析器將其去除。
處理缺失值:對(duì)于缺失的數(shù)據(jù)字段,需要決定是保留、刪除還是填充。填充
策略可以是使用平均值、中位數(shù)、眾數(shù)或基于算法的預(yù)測(cè)值等。
數(shù)據(jù)類型轉(zhuǎn)換:確保所有數(shù)據(jù)字段都存儲(chǔ)為正確的數(shù)據(jù)類型,如將文本表示
的數(shù)字轉(zhuǎn)換為整數(shù)或浮點(diǎn)數(shù)。
識(shí)別和處理異常值:使用統(tǒng)計(jì)方法(如Z-score、IQR等)識(shí)別異常值,并
決定是保留、替換還是刪除這些異常值。
去重處理:對(duì)于重復(fù)的數(shù)據(jù)行,需要進(jìn)行去重處理,以確保數(shù)據(jù)的唯一性。
4.2數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)轉(zhuǎn)換是將原始數(shù)據(jù)轉(zhuǎn)換成更適合于分析和挖掘的形式。這涉及以下幾個(gè)
方面:
特征工程:創(chuàng)建新的特征以提高模型的性能,這包括計(jì)算衍生變量、合并多
個(gè)特征等。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
歸一化/標(biāo)準(zhǔn)化:將數(shù)值特征縮放到相同的范圍,以減少由于特征尺度差異
造成的模型偏差。
編碼分類變量:將分類變量(如顏色、品牌等)轉(zhuǎn)換為模型可以處理的數(shù)值
形式,如獨(dú)熱編碼(One-HotEncoding)或標(biāo)簽編碼(LabelEncoding)。
4.3數(shù)據(jù)儲(chǔ)存
清洗和處理后的數(shù)據(jù)需要妥善儲(chǔ)存,以便后續(xù)的數(shù)據(jù)分析和挖掘。通常,數(shù)
據(jù)可以儲(chǔ)存為CSV文件、數(shù)據(jù)庫(kù)表或?qū)iT的數(shù)據(jù)存儲(chǔ)格式(如Parquet、HDF5
等)。對(duì)于本項(xiàng)目,考慮到后續(xù)需要進(jìn)行復(fù)雜的數(shù)據(jù)查詢和分析,將清洗后的數(shù)
據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)或類似的關(guān)系型數(shù)據(jù)庫(kù)中。
4.4編程實(shí)現(xiàn)
在Python中,數(shù)據(jù)清洗和處理可以使用pandas庫(kù)來(lái)實(shí)現(xiàn)。pandas提供了豐
富的數(shù)據(jù)結(jié)構(gòu)和函數(shù),可以方便地進(jìn)行數(shù)據(jù)清洗、轉(zhuǎn)換和儲(chǔ)存等操作。以下是一
個(gè)簡(jiǎn)單的示例代碼,展示如何使用pandas進(jìn)行數(shù)據(jù)清洗:
importpandasaspd
#讀取數(shù)據(jù)到DataFrame中(假設(shè)數(shù)據(jù)已存儲(chǔ)在CSV文件中)
df=pd.read_csv('./汽車之家數(shù)據(jù).csv')
#去除重復(fù)行
df["車型"].drop_duplicates(inplace=True)
#處理缺失值(以均值填充為例)
df["最高節(jié)省"].fillna(0,inplace=True)
#數(shù)據(jù)類型轉(zhuǎn)換(將價(jià)格字符串轉(zhuǎn)換為浮點(diǎn)數(shù))
df["最高價(jià)"]=df['price'].astype(float)
#將處理后的數(shù)據(jù)儲(chǔ)存回?cái)?shù)據(jù)庫(kù)或文件中(以儲(chǔ)存回CSV文件為例)
df.to_csv('./汽車之家數(shù)據(jù).csv',index=False)
通過(guò)爬取,我們可以得到的大量數(shù)據(jù),部分?jǐn)?shù)據(jù)如圖4-1所示。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖4-1數(shù)據(jù)清洗結(jié)果
5數(shù)據(jù)統(tǒng)計(jì)與分析
數(shù)據(jù)統(tǒng)計(jì)與分析是數(shù)據(jù)挖掘流程中的核心環(huán)節(jié),它涉及對(duì)清洗后的數(shù)據(jù)進(jìn)行
深入探索、理解數(shù)據(jù)特征、發(fā)現(xiàn)數(shù)據(jù)間的關(guān)聯(lián)和趨勢(shì),并最終將這些發(fā)現(xiàn)以直觀
的方式呈現(xiàn)出來(lái)。
5.1數(shù)據(jù)準(zhǔn)備
在進(jìn)行數(shù)據(jù)統(tǒng)計(jì)與分析之前,首先需要確保數(shù)據(jù)已經(jīng)經(jīng)過(guò)清洗和處理,并準(zhǔn)
備好用于分析的數(shù)據(jù)集。這包括選擇需要分析的數(shù)據(jù)字段、處理缺失值、異常值
和數(shù)據(jù)類型轉(zhuǎn)換等。數(shù)據(jù)準(zhǔn)備的目標(biāo)是確保數(shù)據(jù)的質(zhì)量和一致性,以便后續(xù)的分
析能夠得出準(zhǔn)確和可靠的結(jié)論。
5.2數(shù)據(jù)探索性分析
數(shù)據(jù)探索性分析(ExploratoryDataAnalysis,EDA)是在不假設(shè)數(shù)據(jù)分布或
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
模型形式的情況下,對(duì)數(shù)據(jù)進(jìn)行初步的分析和理解。EDA的目標(biāo)是通過(guò)統(tǒng)計(jì)圖
表、摘要統(tǒng)計(jì)量和數(shù)據(jù)分布等手段,揭示數(shù)據(jù)的內(nèi)在規(guī)律和潛在問題。常見的
EDA方法包括:
描述性統(tǒng)計(jì):計(jì)算數(shù)據(jù)的均值、中位數(shù)、眾數(shù)、標(biāo)準(zhǔn)差等統(tǒng)計(jì)量,以了解數(shù)
據(jù)的集中趨勢(shì)和離散程度。
數(shù)據(jù)分布探索:通過(guò)繪制直方圖、箱線圖、QQ圖等圖表,觀察數(shù)據(jù)的分布
形態(tài)、異常值和偏態(tài)情況。
相關(guān)性分析:計(jì)算變量間的相關(guān)系數(shù)(如皮爾遜相關(guān)系數(shù)、斯皮爾曼秩相關(guān)
系數(shù)等),以了解變量之間的線性關(guān)系或等級(jí)相關(guān)性。
分組分析:將數(shù)據(jù)按照某個(gè)或多個(gè)變量進(jìn)行分組,比較不同組之間的差異和
相似性。
5.3數(shù)據(jù)可視化
數(shù)據(jù)可視化是將數(shù)據(jù)以圖形或圖表的形式展示出來(lái),以便更直觀地理解和傳
達(dá)數(shù)據(jù)中的信息。在數(shù)據(jù)統(tǒng)計(jì)與分析中,數(shù)據(jù)可視化起著至關(guān)重要的作用。通過(guò)
選擇合適的圖表類型(如折線圖、柱狀圖、散點(diǎn)圖、熱力圖等),可以將復(fù)雜的
數(shù)據(jù)關(guān)系簡(jiǎn)潔明了地呈現(xiàn)出來(lái)。此外,還可以使用數(shù)據(jù)可視化工具(如Matplotlib、
Seaborn、Plotly等)對(duì)數(shù)據(jù)進(jìn)行動(dòng)態(tài)交互式的可視化探索。
可視化核心代碼如下:
importmatplotlib.pyplotasplt
#餅圖
ifchart_type==1:
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
withopen(r"C:\Users\樂觀遠(yuǎn)航\PycharmProjects\pythonProject\汽車之
家各個(gè)車系的價(jià)格銷量與評(píng)分.csv",encoding="utf-8")asf:
data=pd.read_csv(f)
#條狀圖
price_min=data['最低價(jià)格'].tolist()[:5]
price_max=data['最高價(jià)格'].tolist()[:5]
name=data['汽車系列'].tolist()[:5]
bar_width=0.35
plt.bar(np.arange(5),price_max,label='Max',color='red',
alpha=0.8,width=bar_width)
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
plt.bar(np.arange(5),price_min,label='Min',color='blue',
alpha=0.8,width=bar_width)
#添加軸標(biāo)簽
plt.ylabel('萬(wàn)元為單位')
#添加標(biāo)題
plt.title('汽車系列銷售前5的最低最高成交價(jià)')
#添加刻度標(biāo)簽
plt.xticks(np.arange(5)+0.17,name)
#為每個(gè)條形圖添加數(shù)值標(biāo)簽
forname,price_maxinenumerate(price_max):
plt.text(name-0.1,price_max+0.55,'%s'%price_max)
forname,price_mininenumerate(price_min):
plt.text(name+bar_width-0.1,price_min+0.55,'%s'%
price_min)
#顯示圖例
plt.legend(["Max","Min"])
#顯示圖形
plt.show()
ifchart_type==2:
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
withopen(r"C:\Users\樂觀遠(yuǎn)航\PycharmProjects\pythonProject\汽車之
家各個(gè)車系的價(jià)格銷量與評(píng)分.csv",encoding="utf-8")asf:
data=pd.read_csv(f)
#餅圖
name=data['汽車系列'].tolist()[:5]
social=data['銷售量'].tolist()[:5]
plt.figure(figsize=(15,8))
explode=[0.0,0.0,0.0,0.0,0.0]
plt.pie(social,explode=explode,labels=name,autopct='%1.1f%%',
startangle=-220,
textprops={'fontsize':20,'color':'black'})
plt.title('銷售量前5市場(chǎng)占比分布',fontsize=20)
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
plt.axis('auto')
plt.show()
5.3.1車輛價(jià)格區(qū)間分析
如圖5-1所示。
圖5-1車輛價(jià)格區(qū)間餅圖
通過(guò)得到的餅圖我們可以知道,在我們所爬取的684條數(shù)據(jù)當(dāng)中,價(jià)格在0
元至500000元的車輛種類幾乎以碾壓之勢(shì)高于其他車輛。由此可以推斷出,大
部分車企生產(chǎn)的車輛是在不斷推陳換代的。新一代的車輛開始寄售后,很少有老
款的車輛能繼續(xù)保值。但是新一代的車輛在性能方面可能不會(huì)超過(guò)前輩車輛太多,
普羅大眾在買車時(shí)不必拘泥于新車,老款車輛在性價(jià)比方面可能會(huì)優(yōu)越一點(diǎn)。
5.3.2車型與優(yōu)惠力度分析
如圖5-2所示。
圖5-2車型與優(yōu)惠力度柱狀圖分析
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
在我們得到的柱狀圖當(dāng)中可以看到,在0元至500000元價(jià)格區(qū)間之內(nèi)的捷
豹XFL優(yōu)惠力度并不高,我猜想這與社會(huì)消費(fèi)能力有關(guān),價(jià)格區(qū)間在0元-500000
元之內(nèi)的車輛消費(fèi)人群更龐大,商家不需要以大量的優(yōu)惠來(lái)吸引客戶。價(jià)格區(qū)間
在2500000元至3000000元的邁巴赫S級(jí)優(yōu)惠力度最低,這是因?yàn)楦叨似放朴凶?/p>
己的客戶群體,這些客戶消費(fèi)能力較高,為了維持品牌的效應(yīng),不需要以高優(yōu)惠
來(lái)吸引客戶。反而是價(jià)格區(qū)間在1000000元-1500000元內(nèi)的奔馳EQSsuv優(yōu)惠
力度最大,這是因?yàn)檫@個(gè)檔次的車輛既沒有低價(jià)格車輛的價(jià)格優(yōu)勢(shì),也沒有高價(jià)
格車輛的特定客戶人群,只有加大優(yōu)惠力度,以此來(lái)吸引客戶。
5.3.3車輛銷售前五的最高最低成交價(jià)
如5-3所示。
圖5-3車輛銷售前五的最高最低成交價(jià)
在我們得到的條形圖中可以看到,海鷗這輛車雖然價(jià)格低廉,但是優(yōu)惠力度
確是各類汽車當(dāng)中最少的,而ModelY這輛車雖然看似價(jià)格虛高,但如果得到一
個(gè)好的優(yōu)惠政策,它的價(jià)格比起宋PLUS新能源高不了多少。群眾在買車時(shí)不僅
要考慮車輛各種參數(shù)配置,也要兼顧各種優(yōu)惠政策,這樣可以做到即兼顧經(jīng)濟(jì),
也能兼顧性能。
5.3.4銷售量前五的市場(chǎng)占比分析
如5-4所示。
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-4銷售量前五的市場(chǎng)占比分析
在我們得到的餅圖中可以看到,市場(chǎng)銷售量前五的車輛所占份額大體上相差
不大,而這些車輛都屬于經(jīng)濟(jì)類型的小汽車,由此得出在市場(chǎng)當(dāng)中,普通群眾買
車更看重自己的經(jīng)濟(jì)承受能力,對(duì)于新能源車輛與普通車輛的差異,則是在能承
受的情況下,更多的按照個(gè)人需求與喜好來(lái)進(jìn)行選擇。而那些價(jià)格更高一些的車
輛,受眾群體則遠(yuǎn)遠(yuǎn)比不上經(jīng)濟(jì)類型的小汽車。
6小結(jié)與展望
通過(guò)一系列的數(shù)據(jù)采集、清洗、處理、統(tǒng)計(jì)與分析工作,汽車之家網(wǎng)新設(shè)數(shù)
據(jù)爬取與分析取得了顯著的成果。首先,我們成功地構(gòu)建了汽車之家新車數(shù)據(jù)的
采集系統(tǒng),成功在汽車之家網(wǎng)上爬取到了我們所需要的數(shù)據(jù),然后,通過(guò)數(shù)據(jù)清
洗與處理,我們有了高質(zhì)量的數(shù)據(jù)集,為后面的數(shù)據(jù)分析打下了堅(jiān)實(shí)的基礎(chǔ)。通
過(guò)數(shù)據(jù)統(tǒng)計(jì)與分析,我們揭示了用戶購(gòu)買車輛,企業(yè)生產(chǎn)車輛的側(cè)重。為用戶購(gòu)
買車輛提供了強(qiáng)有力的數(shù)據(jù)支撐。找到了購(gòu)買車輛時(shí)更經(jīng)濟(jì)更實(shí)惠的方式。
6.1項(xiàng)目成果總結(jié)
在本次項(xiàng)目中,我們成功實(shí)現(xiàn)了從目標(biāo)網(wǎng)站的數(shù)據(jù)采集、清洗、處理到統(tǒng)計(jì)
與分析的完整流程。具體成果包括:
數(shù)據(jù)采集:針對(duì)目標(biāo)網(wǎng)站,我們?cè)O(shè)計(jì)了高效的爬蟲程序,得到了關(guān)于汽車之
家網(wǎng)的各個(gè)價(jià)格區(qū)間之內(nèi)的最優(yōu)惠的車輛型號(hào),這為我們選擇購(gòu)買車輛時(shí),增添
了更多選擇。
數(shù)據(jù)清洗與處理:對(duì)原始數(shù)據(jù)進(jìn)行了有效的清洗和處理,去除了噪聲和無(wú)關(guān)
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
信息,確保了數(shù)據(jù)的質(zhì)量
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 2024年12月環(huán)境管理體系基礎(chǔ)答案及解析 - 詳解版(65題)
- 福建省福州市連江縣2025-2026學(xué)年七年級(jí)(上)期末道德與法治試卷(含答案)
- 養(yǎng)老院入住老人財(cái)務(wù)收支審計(jì)制度
- 企業(yè)員工培訓(xùn)與職業(yè)發(fā)展策略制度
- 老年終末期患者生命質(zhì)量提升策略
- 灌區(qū)管理工改進(jìn)模擬考核試卷含答案
- 毛衫套口工安全生產(chǎn)能力水平考核試卷含答案
- 我國(guó)上市公司海外并購(gòu)融資模式的創(chuàng)新路徑探究
- 尿素裝置操作工崗前安全生產(chǎn)能力考核試卷含答案
- 松脂工崗前工作規(guī)范考核試卷含答案
- 監(jiān)獄消防培訓(xùn) 課件
- 道路建設(shè)工程設(shè)計(jì)合同協(xié)議書范本
- 2025年安徽阜陽(yáng)市人民醫(yī)院校園招聘42人筆試模擬試題參考答案詳解
- 2024~2025學(xué)年江蘇省揚(yáng)州市樹人集團(tuán)九年級(jí)上學(xué)期期末語(yǔ)文試卷
- 2026屆江蘇省南京溧水區(qū)四校聯(lián)考中考一模物理試題含解析
- 民用建筑熱工設(shè)計(jì)規(guī)范
- 學(xué)堂在線 雨課堂 學(xué)堂云 唐宋詞鑒賞 期末考試答案
- 2025至2030中國(guó)輻射監(jiān)測(cè)儀表市場(chǎng)投資效益與企業(yè)經(jīng)營(yíng)發(fā)展分析報(bào)告
- 產(chǎn)品認(rèn)證標(biāo)志管理制度
- 廣州西關(guān)大屋介紹
- 基于機(jī)器視覺的SLM金屬3D打印設(shè)備視覺標(biāo)定技術(shù)研究
評(píng)論
0/150
提交評(píng)論