基于Python的澳康達二手車網數據采集與分析_第1頁
基于Python的澳康達二手車網數據采集與分析_第2頁
基于Python的澳康達二手車網數據采集與分析_第3頁
基于Python的澳康達二手車網數據采集與分析_第4頁
基于Python的澳康達二手車網數據采集與分析_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

湖南商務職業技術學院畢業設計

目錄

1引言1

1.1項目背景1

1.2開發環境與工具1

1.2.1Python簡介1

1.2.2Pandas簡介2

1.2.3pyecharts簡介2

2需求分析2

2.1可行性需求分析2

2.2采集目標功能分析3

2.3關鍵技術分析3

2.3.1網絡爬蟲技術3

2.3.2文件存取技術3

2.3.3可視化技術3

3數據采集4

3.1采集頁面分析4

3.2數據解析策略5

3.3翻頁策略分析6

3.4多線程爬蟲策略8

3.5Main方法9

4數據清洗與處理11

4.1數據清洗的意義11

4.2數據清洗需求11

4.3數據清洗操作12

4.4數據清洗結果13

5數據統計與分析13

5.1數據分析13

5.2數據分析與展示14

I

湖南商務職業技術學院畢業設計

5.2.1統計各個品牌的汽車數量和價格14

5.2.2分析行駛里程與價格的關系15

5.2.3統計燃油與驅動方式的數量15

5.2.4統計每年上牌的汽車的數量和價格17

5.3綜述18

6設計小結18

參考資料19

II

湖南商務職業技術學院畢業設計

基于Python的澳康達二手車網數據采集與分析

1引言

二手車市場是一個龐大的市場,數據采集和分析對于了解市場動態、分析

市場趨勢和制定決策非常重要。本文選取了澳康達網站的二手車數據進行采集

和分析,旨在探索二手車市場的情況和趨勢。數據采集使用Python編寫爬蟲程

序,通過HTTP請求獲取澳康達網站的數據,并將數據存儲在本地CSV文件中。

數據分析主要使用Pandas等Python數據處理庫進行數據清洗和分析,同時使

用pyecharts等可視化庫繪制圖表進行數據展示和分析。通過數據采集和分析,

我們可以了解二手車市場的整體情況和趨勢,比如不同品牌的銷量和平均售價、

不同上牌年份車輛的分布、不同車型的價格分布等。這些信息對于二手車市場

從業者和消費者都具有參考價值。

1.1項目背景

隨著互聯網技術的發展,越來越多的消費者開始通過互聯網平臺購買二手

車。澳康達是中國領先的二手車電商平臺之一,為消費者提供高質量的二手車

交易服務。在這個背景下,對于澳康達網站的二手車數據進行采集和分析可以

幫助消費者更好地了解二手車市場的行情和趨勢,為他們做出更明智的購車決

策提供參考。同時,對于澳康達來說,通過分析二手車市場數據,他們可以更

好地了解市場需求和消費者需求的變化,并根據分析結果做出更好的戰略決策,

提高企業的市場競爭力。因此,對于澳康達網站的二手車數據進行采集和分析

具有重要意義。

1.2開發環境與工具

1.2.1Python簡介

Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python

語法和動態類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速

開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于

獨立的、大型項目的開發。

Python解釋器易于擴展,可以使用C語言或C++(或者其他可以通過C調

用的語言)擴展新的功能和數據類型。Python也可用于可定制化軟件中的擴展

1

湖南商務職業技術學院畢業設計

程序語言。Python豐富的標準庫,提供了適用于各個主要系統平臺的源碼或機

器碼。

1.2.2Pandas簡介

pandas是基于NumPy的一種工具,該工具是為解決數據分析任務而創建的。

Pandas納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所

需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你

很快就會發現,它是使Python成為強大而高效的數據分析環境的重要因素之一。

1.2.3pyecharts簡介

Pyecharts是一款將python與echarts結合的強大的數據可視化工具。使用pyecharts可

以生成獨立的網頁,也可以在flask,Django中集成使用。

echarts是百度開源的一個數據可視化JS庫,主要用于數據可視化。pyecharts是一個

用于生成Echarts圖表的類庫,實際上就是Echarts與Python的對接。

2需求分析

2.1可行性需求分析

在進行澳康達網站二手車數據采集與分析之前,需要進行可行性需求分析。

主要包括以下幾個方面:

數據獲取可行性:澳康達網站二手車數據是否可以被獲取,獲取的方式是

否合法。

數據存儲可行性:采集到的數據需要存儲到數據庫中,需要評估數據庫的

存儲容量和性能是否滿足需求。

數據清洗可行性:采集到的數據可能存在重復、缺失或錯誤等問題,需要

進行清洗和處理,評估數據清洗的難度和可行性。

數據分析可行性:分析二手車數據的目的是為了了解市場行情、車型價格、

銷售趨勢等信息,需要評估數據分析的可行性和可靠性。

技術可行性:進行數據采集和分析需要使用相應的技術和工具,需要評估

技術的可行性和適用性,是否需要進行技術儲備和培訓。

經過可行性需求分析:我們可以初步確定澳康達網站二手車數據采集與分

析的可行性,并在此基礎上進行后續的技術方案和實施計劃的制定。

2

湖南商務職業技術學院畢業設計

2.2采集目標功能分析

澳康達網站二手車數據采集與分析的采集目標功能分析如下:

采集二手車的基本信息:品牌、車系、上牌時間、里程、價格等信息。

采集車輛的詳細信息:車輛顏色、排量、變速箱、車型等詳細信息。

采集車輛圖片和描述信息。

對采集到的數據進行清洗和整合,使其符合分析要求。

將采集到的數據存儲在本地數據庫或云端數據庫中,方便后續數據處理和

分析。

實現數據可視化界面,對采集到的數據進行展示和分析,包括價格分布、

里程分布、品牌占比等分析。

通過以上采集目標功能,我們可以獲取到全面且詳細的二手車信息,同時

也可以方便地進行數據分析和可視化,為后續的決策提供支持和參考。

2.3關鍵技術分析

2.3.1網絡爬蟲技術

網絡爬蟲(又稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱

為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者

腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

2.3.2文件存取技術

JSON是一種輕量級的數據交換格式。歐洲計算機協會制定的js規范的一個

子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的

層次結構使得JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易

于機器解析和生成,并有效地提升網絡傳輸效率。

2.3.3可視化技術

可視化是利用計算機圖形學和圖像處理技術,將數據轉換成圖形或圖像在

屏幕上顯示出來,再進行交互處理的理論、方法和技術。可視化是利用計算機

圖形學和圖像處理技術,將數據轉換成圖形或圖像在屏幕上顯示出來,并進行

交互處理的理論、方法和技術。

3

湖南商務職業技術學院畢業設計

3數據采集

3.1采集頁面分析

進入澳康達官網,點擊頁面上方選項欄,選擇”我要買車”進入二手汽車搜

索結果頁,其中選擇欄中列舉了很多熱門品牌,價格等選項,為了能夠爬取全

量的數據,這里選擇全部品牌和全部城市,如圖3-1所示:

圖3-1澳康達二手汽車

通過初步瀏覽汽車搜索結果頁,頁面中包含汽車的基本信息,比如:汽車名

稱、新舊、行駛里程、售價、原價、城市;這些字段都需要進行采集。如圖3-2

所示:

4

湖南商務職業技術學院畢業設計

圖3-2汽車關鍵字段

通過瀏覽器自帶的開發者工具分析頁面的html文檔,可以看到大部分字段

在html都有顯示,如圖3-3所示:

圖3-3html分析

a標簽中的href屬性代表該汽車的詳情頁url,進入詳情頁后對汽車的詳細

字段進行采集,如圖3-4所示:

圖3-4汽車詳情頁

在詳情頁中有汽車詳細字段的描述,如車輛顏色、驅動形式、座位數等。此

時已經基本明確了頁面跳轉流程,首先請求搜索結果頁,獲取到每一頁中所有

的汽車詳情頁url,并對詳情頁url進行請求。將搜索結果頁和詳情頁采集到的

字段進行匯總,并使用json格式保存。

3.2數據解析策略

在前面的小結中已經提到,汽車的有關字段都保存在html文檔中,使用

etree庫的xpath方法即可獲取到每個字段。編寫AkdSpider類,該類用于解析

并保存字段。該類包含以下三個方法:(詳細代碼參考AkdSpider.py)

clean方法,該方法用于清洗數據,將文本中的空格和換行符等無用字符去

掉。它接受一個列表作為參數,將列表中的元素連接起來,并通過replace方

法替換掉無用字符。最后返回處理后的字符串。如下圖3-5所示:

5

湖南商務職業技術學院畢業設計

圖3-5字段中的無效字符

get_car_detail方法,該方法用于從汽車詳細頁面的HTML中提取車輛詳細

信息。它接受一個response對象作為參數,這個對象是requests庫返回的HTTP

響應對象。使用etree.HTML將HTML字符串轉換為可解析的HTML對象,然后通

過XPath表達式從HTML中提取數據。最后,將提取的數據存儲到一個字典對

象detail_dict中,并返回這個字典。

get_car_info方法,這個方法用于從汽車列表頁面的HTML中提取汽車的基

本信息和鏈接,然后調用get_car_detail方法獲取車輛的詳細信息,并將基本

信息和詳細信息合并到一個字典中,最后將這個字典存儲到JSON文件中。它接

受一個response對象作為參數,這個對象是requests庫返回的HTTP響應對象。

它首先使用etree.HTML將HTML字符串轉換為可解析的HTML對象,然后通過

XPath表達式從HTML中提取基本信息。接著,從每個汽車的鏈接中獲取汽車詳

細信息,并調用get_car_detail方法獲取詳細信息。最后,將基本信息和詳細

信息合并到一個字典中,并將這個字典存儲到JSON文件中。

3.3翻頁策略分析

為了能夠采集到全量數據,還需要進行翻頁處理。前面已經提到,每一頁中

有32條記錄,如果該頁面是最后一頁,那么該頁中最多只有32條記錄,大多

數情況下最后一頁中的記錄數都會小于32。根據這個規律可以判斷當前頁是否

為最后一頁。

在每一頁的最下方有頁數的選擇欄,點擊對應的數字可以跳轉到相應的頁面,

跳轉之后可以觀察url參數的變化。如圖3-6所示:

圖3-6下一頁url

其中pg后的數字代表當前的頁數,改變該參數即可輕松的構造出下一頁的

url,然后再根據最后一頁的判定方式即可結束翻頁。

在工具類Helper中實現翻頁,代碼如下所示:

classHelper:

queue=Queue()

6

湖南商務職業技術學院畢業設計

@staticmethod

defrequest_car_url(url:str):

headers={

"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36

(KHTML,likeGecko)Chrome/Safari/537.36"

}

response=requests.get(url,headers=headers)

returnresponse

@staticmethod

defstorage_res(response):

cur_url=response.url

Helper.queue.put(response)

re_li=re.findall('pg(\d+)',cur_url)

next_page=cur_page=int(re_li[0]ifre_lielse0)

print(f"保存第{cur_page}頁response對象")

html=etree.HTML(response.text)

field_list=html.xpath('//div[@class="CarList_main"]/a')

print(cur_url)

print(len(field_list))

iffield_list:

next_page=next_page+1

next_url=re.sub('pg\d+','pg'+str(next_page),cur_url)

Helper.storage_res(Helper.request_car_url(next_url))

Helper類的靜態成員queue是一個Queue對象,表示一個隊列。這個隊列

被用于存儲從網站中抓取到的HTML響應對象,以便后續的數據采集線程可以從

隊列中獲取響應對象進行數據處理。

Helper類中的第一個靜態方法request_car_url接收一個URL字符串作為

參數,使用Python的requests庫向該URL發送HTTP請求,并返回響應對

象response。這里使用了一個user-agen來模擬瀏覽器訪問,避免被服務器拒

絕訪問。

Helper類中的第二個靜態方法storage_res接收一個響應對象response作

7

湖南商務職業技術學院畢業設計

為參數。它首先使用XPath解析器etree將響應對象的HTML文本解析成一個

Element對象html,然后使用XPath表達式獲取HTML中的車輛信息列表

field_list,并將其打印出來。如果列表非空,則解析出下一頁的URL,并遞歸

調用Helper類的request_car_url方法,將下一頁的響應對象存入隊列queue

中,并繼續遞歸調用storage_res方法。這樣,就可以遞歸地獲取所有頁面的

響應對象并存入隊列中。

3.4多線程爬蟲策略

由于該網站采集頁面較多,為了達到最高的數據采集效率,考慮使用多線程

爬蟲策略。在主線程中進行翻頁處理,并將搜索結果頁的response對象保存到

隊列中,翻頁處理完畢之后,再開啟多個子線程,并行處理每一頁response。

定義數據采集線程類CrawlerThread,繼承Thread類。詳細代碼如下所示:

#數據采集線程

classCrawlerThread(threading.Thread):

def__init__(self,thread_id,response_list,akdSpider:AkdSpider):

threading.Thread.__init__(self)

self.thread_id=thread_id

self.response_list=response_list

self.akdSpider=akdSpider

defrun(self):

whilenotself.response_list.empty():

try:

response=self.response_list.get()

exceptIndexError:

break

else:

self.akdSpider.get_car_info(response)

采集線程中包含一個response_list隊列,主線程負責將待采集的URL加入

到該隊列中。采集線程使用while循環,不斷從response_list隊列中獲取URL

并進行采集。如果隊列為空,則該線程退出。在獲取到URL后,采集線程調用

爬蟲類中的get_car_info方法,將response作為參數傳入,獲取并保存數據。

8

湖南商務職業技術學院畢業設計

由于線程之間共享response_list隊列,需要使用線程安全的隊列,以避免多

個線程同時操作隊列引起的異常。

該多線程爬蟲使用Python的threading庫實現。在創建采集線程時,傳入

線程ID、response_list隊列和爬蟲類實例作為參數,并重寫run方法。在run

方法中,調用get_car_info方法進行數據采集。

使用多線程可以提高爬蟲的效率,因為可以同時采集多個URL的數據,而不

是一個一個地進行采集。同時,由于采集和解析是分開進行的,所以可以避免

解析過程阻塞采集過程的問題。

最后,整個程序的控制流程可以在__main__函數中找到。這個函數首先調

用Helper類的request_car_url方法獲取第一頁的響應對象,并將其傳入

Helper類的storage_res方法中。在storage_res方法中,遞歸地調用

request_car_url方法獲取其他頁面的響應對象,并將它們存入隊列中。在所有

頁面的響應對象都被存入隊列后,__main__函數創建多個數據采集線程并啟動

它們。這些線程從隊列中獲取響應對象,并調用akdSpider對象的get_car_info

方法進行數據處理。如下圖3-7所示:

圖3-7保存response對象

3.5Main方法

在main方法編寫相關代碼啟動多線程爬蟲。如下所示:

if__name__=='__main__':

spider=AkdSpider()

queue=Helper.queue

start_response=Helper.request_car_url('/carlist/ar0pg1/')

Helper.storage_res(start_response)

num_crawler_threads=8

crawler_threads=[]

#啟動數據采集線程

foriinrange(num_crawler_threads):

9

湖南商務職業技術學院畢業設計

print(f"啟動線程{str(i)}")

thread=CrawlerThread(i,queue,spider)

crawler_threads.append(thread)

thread.start()

#等待所有數據采集線程完成

forthreadincrawler_threads:

thread.join()

程序開始時,創建了spider的對象,該對象的類是AkdSpider。接著,從

Helper類中獲取queue的隊列,并請求了start_response的網頁響應,該響應

是通過Helper.request_car_url方法獲取的,并將響應存儲在Helper類中。

然后,定義num_crawler_threads變量,該變量表示要啟動的線程數量。之后,

啟動了多個CrawlerThread線程來執行數據采集操作,并將它們存儲在

crawler_threads列表中。最后,等待所有線程完成執行。如圖3-8所示

圖3-8啟動子線程

程序運行結束之后會在當前文件夾生成akdData.json文件,文件內容如圖

3-9所示:

圖3-9數據采集結果展示

10

湖南商務職業技術學院畢業設計

4數據清洗與處理

4.1數據清洗的意義

數據采集下來之后還需要對數據進行清洗和處理,比如date_and_mileage

字段,從“2017年06月上牌/10876公里“提取出上牌時間和行駛里程數;

new_car_price字段,從”40.00萬為您節省8.70萬“提取出新車價和節省金

額;將價格字段轉換成浮點類型等。數據清洗是數據預處理的重要步驟之一,

數據清洗可以提高數據質量,減少數據分析中的誤差和偏差,增加數據可靠性

和有效性,從而提高數據分析和決策的準確性和可信度。此外,數據清洗也可

以節省數據存儲空間,加速數據分析和處理的速度。

4.2數據清洗需求

爬蟲采集的數據以json格式進行保存,如下圖所示:

圖4-1json數據格式

1)使用pandas讀取文件

2)由于photo字段沒有數據分析價值,將其刪除

3)從date_and_mileage字段和new_car_price字段中提取出有效字段,并剔

除掉單位字符,最后刪除原有字段。

4)剔除price字段中的單位。

5)從name字段中提取出汽車的上市時間。

11

湖南商務職業技術學院畢業設計

4.3數據清洗操作

使用python讀取akdData.json文件,從中提取出便于分析的字段,比如品

牌、上牌時間、售價、新車價、城市等。如下圖所示:

圖4-2讀取akdData.json文件

使用pandas從date_and_mileage字段和new_car_price字段中提取出有

效字段。如下圖所示:

圖4-3切分復合字段

將date_and_mileage列按照"日期上牌/公里數"的格式進行切分,并將新

的兩列分別命名為date和mileage。切分時使用了正則表達式(.+)上牌/(.+)

公里,其中.表示匹配任意字符,+表示匹配前面的字符一次或多次,括號內

的表達式表示將匹配到的內容提取出來。new_car_price列也按照相同的方式進

行處理。

為了便于數據分析,將price字段中的”萬”字刪除,如下圖所示:

圖4-4處理price字段

12

湖南商務職業技術學院畢業設計

從name字段中提取出汽車上市時間,如下圖所示:

圖4-5從name字段中提取上市時間

4.4數據清洗結果

通過數據清洗使得數據更加準確、一致、完整、可靠、可用,從而提高數據

的質量和價值。清洗之后的數據結果如下所示:

圖4-6數據清洗結果

后續可以直接使用pandas對數據進行統計和分析。Pandas提供了強大的數

據結構,如Series和DataFrame,以及豐富的數據操作和轉換函數。為數據分

析提供了強有力的支持。

5數據統計與分析

5.1數據分析

二手汽車數據是包含了各種汽車信息的數據,例如品牌、型號、年份、里

程、價格等等。利用pandas對二手汽車數據進行數據分析,可以發現很多有趣

的信息。

首先,我們可以通過對二手汽車價格的分析,發現二手汽車價格的分布情

況以及各個品牌、排量的平均價格。此外,我們還可以比較不同品牌、排量之

間的價格差異以及價格與年份、里程等因素之間的關系。

其次,我們還可以通過對二手汽車里程的分析,了解不同品牌、型號的平

均里程以及不同年份、價格區間的車輛平均里程等等。此外,我們還可以通過

13

湖南商務職業技術學院畢業設計

繪制里程和價格之間的散點圖,發現二手車價格和里程之間的關系。

最后,我們還可以通過對二手汽車的品牌、型號、車齡、里程等信息進行

匯總統計,發現二手汽車市場上最受歡迎的品牌、型號、車齡等等。這些信息

可以對二手汽車買賣市場的發展趨勢進行分析,并對二手車市場上的交易價格

提供參考。

5.2數據分析與展示

5.2.1統計各個品牌的汽車數量和價格

在pandas中,首先使用pd.to_numeric()函數將data中price列轉換為浮

點數類型,同時通過errors='coerce'參數將無法轉換的值替換為NaN。然后使

用了dropna()函數刪除price列中包含NaN的行。最后,使用groupby()函數

對Brand列進行分組,統計每個品牌的汽車數量和價格的平均值,其中agg()函

數用于對每個分組進行聚合操作。{'Brand':'count','price':'mean'}指定

了需要聚合的列及聚合方式,其中'Brand':'count'表示統計每個品牌的汽車數

量,'price':'mean'表示計算每個品牌的汽車價格的平均值。最終得到的結果

是一個DataFrame,包含兩列:Brand和price,其中Brand列為品牌名,price

列為對應品牌的汽車價格平均值。

將品牌數量和平均價格傳入pyecharts中bar方法中繪制柱狀圖,如下圖

5-1所示:

圖5-1統計各個品牌的汽車數量和價格

14

湖南商務職業技術學院畢業設計

保時捷、奔馳、寶馬、雷克薩斯等豪華車品牌的二手車均價較高,分別為

73.78、45.55、39.36、47.05萬元。勞斯萊斯、蘭博基尼等豪華車品牌的二手

車均價更高,但是數量較少。豐田品牌的二手車數量最多,達到32輛,但是均

價并不高,為48.16萬元。有一些品牌的二手車數量較少,且均價較高,如阿

斯頓馬丁、法拉利等。

據此,購買二手車時應該根據自己的需求和經濟實力進行選擇。如果追求豪

華車品牌,應該選擇保時捷、奔馳、寶馬、雷克薩斯等品牌,但需要承受較高

的價格。如果追求性價比,可以考慮豐田等品牌的二手車。

5.2.2分析行駛里程與價格的關系

完成該需求首先需要使用to_numeric方法將行駛里程數和價格轉換成數值

類型,再利用sort_values方法對價格升序排序,將價格作為橫坐標,將行駛

里程數作為縱坐標,再通過pyecharts中的Scatter方法繪制散點圖。如下圖

5-2所示:

圖5-2分析行駛里程與價格的關系

價格在7萬元到23萬元之前的車型的行駛里程都比較長,也說明性價比的

車型多用于代步和出行;25萬元以上的車型行駛里程數在3萬公里以下,也說

明了豪華車型的使用頻率較少。在考慮購買二手車時可以對照里程數與價格的

關系圖,從而購買最適合自己的二手車。

5.2.3統計燃油與驅動方式的數量

按燃油類型和驅動方式分組,統計數量和平均價格,結果保存為兩個pandas

15

湖南商務職業技術學院畢業設計

DataFrame對象(ret1和ret2)。將結果轉換為pyecharts所需的數據格式,

包括餅圖的標簽和數據。利用pyecharts的Pie類繪制兩個餅圖,并分別保存

為html文件。

代碼的執行過程中,利用pandas庫的groupby方法按燃油類型和驅動方式

對數據進行分組,再用agg方法對分組后的數據進行聚合操作,統計每組的數

量和平均價格。然后利用pyecharts庫的Pie類繪制餅圖,并分別設置了標題

和標簽的樣式,最后分別保存為html文件。如下圖5-3和5-4所示

圖5-3驅動方式分布

圖5-4燃油類型分布

16

湖南商務職業技術學院畢業設計

從驅動方式上看,4驅驅動形式的車型數量最多,價格也最高,為61.66萬

元;后驅驅動形式的車型數量位于中間,價格也較高,為58.38萬元;前驅驅

動形式的車型數量最少,價格也最低,為24.95萬元;

從燃油類型上看,汽油是最為常見的能源類型,有著高達793個數據點,平

均價格為55.44。其次是(汽油)48V輕混系統和插電式(汽油)混合動力,分

別擁有69和31個數據點,平均價格分別為70.10和39.55。值得注意的是,雖

然插電式(汽油)混合動力只有31個數據點,但其平均價格仍然比汽油低很多,

表明其有著相對較高的性價比。柴油的數據點最少,僅有1個,而平均價格為

33.80,相對來說價格較低。

5.2.4統計每年上牌的汽車的數量和價格

按照年份分組,統計數量和平均價格,并將結果按照年份升序排序。同樣的,

需要對價格字段轉換成數值類型,也需要對年份字段進行統一格式化處理。最

后,使用Pyecharts繪制折線圖,展示上牌時間的分布情況。圖中包含了數量

和平均價格兩個指標,橫軸為年份,縱軸為數量和平均價格。折線圖中間的兩

條橫線代表數量和價格的平均數。如下圖所示:

圖5-5統計每年上牌的汽車數量和價格

根據上牌年份劃分,2019年的車型數量最多,有144輛,平均售價也相對

較高,為68.30萬元。從2014年到2018年,車型數量有所增加,平均售價也

有所波動,但總體趨勢呈現穩定的上漲。2020年和2021年的車型數量最多,但

17

湖南商務職業技術學院畢業設計

平均售價相對較低,分別為56.34萬元和52.30萬元。

5.3綜述

從“品牌”分析報告可以看出,價格排名前三的品牌依次為奧迪、寶馬和

奔馳,它們的平均價格分別為56.28萬元、57.75萬元和63.63萬元。此外,在

品牌分布中,國產品牌數量較多,而豪華進口品牌數量較少。

從“能源類型”分析報告可以看出,插電式(汽油)混合動力和柴油車的

平均價格較低,分別為39.55萬元和33.80萬元;而(汽油)48V輕混系統和

(汽油)輕混系統的平均價格較高,分別為70.10萬元和56.75萬元。

從“驅動形式”分析報告可以看出,四驅車的平均價格最高,為61.66萬

元,后驅車的平均價格為58.38萬元,前驅車的平均價格最低,為24.95萬元。

從“上牌年份”分析報告可以看出,從

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論