1. 程式人生 > 實用技巧 >爬取湖人隊球員的薪資,視覺化顯示資料,詹姆斯一人頂全隊

爬取湖人隊球員的薪資,視覺化顯示資料,詹姆斯一人頂全隊

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

以下文章來源於明日IT部落,作者 明日科技

2020年10月12日,也就是昨天。這支由詹姆斯所率領的老年湖人夢想團,在經歷了近兩個月的比拼後,終於收穫了夢寐以求的最終勝利。湖人再次站在了NBA的潮頭。36歲的勒布朗詹姆斯,34歲的拉簡隆多,34歲的德懷特霍華德,32歲的賈維爾麥基,31歲的馬基夫莫里斯,五名老將給這支夕陽夢想團注入了最強大的活力。27歲的安東尼戴維斯,25歲的大齡新秀庫茲瑪,27歲的考德維爾波普,26歲的洛杉磯卡神,他們或許會成為湖人更遠的未來。

看了湖人隊球員的薪資才知道:優秀的人註定會優秀!

下面通過Python爬取NBA湖人隊球員薪資並進行分析,程式碼如下:

 1importpandasaspd
 2importmatplotlib.pyplotasplt
 3df=pd.DataFrame()
 4url_list=['http://www.espn.com/nba/salaries/_/seasontype/4']
 5foriinrange(2,13):
 6url='http://www.espn.com/nba/salaries/_/page/%s/seasontype/4'%i
 7url_list.append(url)
 8#遍歷網頁中的table讀取網頁表格資料
 9forurlinurl_list:
10df=df.append(pd.read_html(url),ignore_index=True)
11#列表解析:遍歷dataframe第3列,以子字串$開頭
12df=df[[x.startswith('$')forxindf[3]]]
13#篩選"湖人隊"
14df1=df[df[2]=='LosAngelesLakers']
15df2=df1.copy()#拷貝一個副本
16df2[3]=df2[3].map(lambdaa:a.replace('$',''))#將薪資中的“$”去掉
17df2[3]=df2[3].apply(lambdax:float(x.replace(",","")))
18print(df2)
19#新增一列
20df2['中文名']=['勒布朗-詹姆斯','安東尼-戴維斯','丹尼-格林','肯塔維厄斯-考德威爾-波普','埃弗裡-布拉德利','賈維爾-麥基','德文泰-卡考克','奎因-庫克','亞歷克斯-卡魯索','拉簡-隆多','凱爾-庫茲馬','馬基夫-莫里斯','賈裡德-杜德利','德懷特-霍華德','大衛-斯托克頓']
21df2.to_excel('NBA1.xlsx',header=['RK','NAME','TEAM','SALARY','中文名'],index=False)
22df3=df2.sort_values(by=3,ascending=True)#降序排序
23fig=plt.figure(figsize=(8,4))#畫布大小
24plt.subplots_adjust(left=0.3)#調整圖表空白處
25plt.rcParams['font.sans-serif']=['SimHei']#解決中文亂碼
26plt.ticklabel_format(useOffset=False,style='plain')#禁止科學計數法
27plt.title('NBA湖人隊球員薪資現狀分析',fontsize='18')#圖表標題
28plt.xlim(800000,40000000)
29x=df3['中文名']
30y=df3[3]
31median=df3[3].median()
32plt.barh(x,y,label='薪資',color='r')
33#薪資中位數參考線
34plt.axvline(median,color='blue',linestyle='--',)
35plt.show()