数据可视化matplotlib(一)---亚马逊销售飙升榜
????????數據可視化是數據分析的重要任務之一。
? ? ? ? 之前有獲取到亞馬遜銷售飆升榜的數據,但是排名只是按列表順序排序,銷售排名上升的幅度只有數字的變化,體現的不是很直觀。
????????所以使用python的matplotlib實現對數據的可視化,能直觀的看出來數據的對比和變化。
一、matplotlib
????????Matplotlib 是 Python 的繪圖庫,可以用來繪制各種靜態,動態,交互式的圖表。
python3 -m pip install -U matplotlib? ? ? ? 安裝完成之后,寫一個簡單的小測試:
import matplotlib.pyplot as pltdata = [1,2,2,5,8,1,2] plt.plot(data) plt.show()? ? ? ? ?先自定義一個list生成圖表,若配置正確的話就能生成如下簡單的線型圖:
 ?
?二、使用Dataframe生成柱狀圖
? ? ? ? 在pandas中有很多方法可以實現對Dataframe和Series的可視化。
 ? ? ? ? Dataframe和Series都有一個plot屬性繪制基本的圖形,但是默認情況下polt生成的都是折線圖。
 ? ? ? ? 所以我們需要用polt繪制不同圖標的其他方法,比如柱狀圖的polt.bar()方法可以繪制垂直的柱狀圖,plot.barh()用于繪制水平的柱狀圖。
?????????默認情況下,在繪制柱狀圖時,Series和Dataframe的索引會成為x軸(bar())或者y(barh())軸的刻度。
三、Movers & Shakers數據可視化
? ? ? ? 結合上次的亞馬遜銷售飆升榜,來做一個電子區的熱銷榜銷售上升幅度的柱狀圖。
? ? ? ? 我這里使用的是ipidea的代理,因為亞馬遜在國內還是無法正常訪問的,好的代理能幫助你更好的獲取數據,高質量低延遲,而且新用戶可以白嫖哦!
 ????????http://www.ipidea.net/?utm-source=csdn&utm-keyword=?wb
????????那個up箭頭就是銷售量漲幅。不知道為什么榜一居然沒有,取數據的時候就把他忽略掉。
testUrl = "https://www.amazon.com/gp/movers-and-shakers/electronics/ref=zg_bsms_nav_0" headers = {"authority":"www.amazon.com","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","user-agent":f"{UserAgent}", } res = requests.get(testUrl, headers=headers, proxies=proxies,verify=False) content = res.content.decode("utf-8") sel = Selector(text=content) nodes = sel.css("#gridItemRoot") indexList = [] upgradeList = [] for node in nodes[1:]:itemName = node.css(".zg-grid-general-faceout a span div::text").extract_first()ranks = node.css(".aok-inline-block")upgrade = ranks.css(".zg-grid-pct-change::text").extract_first().replace("%","").replace(",","")indexList.append(itemName)upgradeList.append(int(upgrade))? ? ? ? 獲取到商品名和商品銷售漲幅之后將數據存入兩個list中,一個作為圖標數據,將商品名作為x軸的刻度。
dataframe = pd.DataFrame(upgradeList,index=indexList) dataframe.plot.bar() plt.show()? ? ? ? 目前,最基礎的數據可視化就完成了。?
 ?
總結
以上是生活随笔為你收集整理的数据可视化matplotlib(一)---亚马逊销售飙升榜的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 手把手教你使用 Java 和 Redis
- 下一篇: 0基础建站教程,1小时建网站,王通教程
