火箭五年四遇勇士,終究還是敗了
看了火箭和勇士的G6大戰(zhàn),最終火箭3比4出局。
在火箭的近五年季后賽,一共有四次是和勇士交手,最終都以失敗告終。
我平常是很少看NBA比賽的,所以看完之后便想寫點(diǎn)東西。
懷念一下那些年我們一起關(guān)注過(guò),當(dāng)然也打過(guò)的籃球。
涉及的東西不多,主要是NBA球員歷年薪資情況以及效力球隊(duì)情況。
這里的球員都是NBA的籃球巨星。
至于超巨是哪幾個(gè),估摸著大家各自都有各自的想法啦。
我也不多說(shuō)~
一、獲取分析
數(shù)據(jù)從下面這個(gè)網(wǎng)站上獲取,獲取熱門球員信息。
詳情見下圖。
這里以詹姆斯為例,首先查看他的網(wǎng)址ID。
接下來(lái)進(jìn)入球員數(shù)據(jù)概況詳情頁(yè)。
查看他各賽季的薪資以及效力球隊(duì)情況。
獲取賽季、球隊(duì)以及薪金數(shù)據(jù)。
二、數(shù)據(jù)獲取
具體代碼如下。
- import requests
- from bs4 import BeautifulSoup
- headers = {
- 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
- }
- def get_player(player_id):
- url_2 = 'http://www.stat-nba.com' + player_id
- response_2 = requests.get(url=url_2, headers=headers)
- html_2 = response_2.text
- # 對(duì)請(qǐng)求結(jié)果進(jìn)行編碼解碼處理,避免出現(xiàn)亂碼
- html_2 = html_2.encode('ISO-8859-1')
- html_2 = html_2.decode('utf-8')
- # 提取信息
- soup_2 = BeautifulSoup(html_2, 'html.parser')
- name = soup_2.find(class_='name').get_text().split('/')[0]
- salarys = soup_2.find(id='player_salary')
- trs = salarys.find('tbody')
- # 獲取信息
- for tr in trs.find_all('tr')[:-2]:
- # 年份
- season = tr.find(class_='current').get_text()
- if int(season[:1]) > 2:
- year = '19' + season.split('-')[0]
- else:
- year = '20' + season.split('-')[0]
- # 球隊(duì)
- team = tr.find('a').get_text()
- # 薪水
- salary = tr.find_all(class_='normal')[1].get_text().replace('萬(wàn)美元', '')
- print(year, name, team, salary)
- with open('nba.csv', 'a+', encoding='utf-8-sig') as f:
- f.write(year + ',' + name + ',' + team + ',' + salary + '\n')
- def get_index():
- url_1 = 'http://www.stat-nba.com/playerList.php'
- response_1 = requests.get(url=url_1, headers=headers)
- html_1 = response_1.text
- # 對(duì)請(qǐng)求結(jié)果進(jìn)行編碼解碼處理,避免出現(xiàn)亂碼
- html_1 = html_1.encode('ISO-8859-1')
- html_1 = html_1.decode('utf-8')
- soup_1 = BeautifulSoup(html_1, 'html.parser')
- div = soup_1.find_all(class_='playerList')[1]
- for i in div.find_all(class_='name'):
- player_id = i.find('a')['href'][1:]
- try:
- get_player(player_id)
- except:
- pass
- if __name__ == '__main__':
- get_index()
***成功獲取數(shù)據(jù)。
包含賽季,球員,效力球隊(duì),薪資信息。
將球員數(shù)據(jù)轉(zhuǎn)化為特定格式,以便輸出動(dòng)態(tài)視頻。
一共784條數(shù)據(jù)。
三、數(shù)據(jù)可視化
首先來(lái)看一下球員的薪資情況,從1990年到2020年。
薪資應(yīng)該也是能體現(xiàn)出一個(gè)球員實(shí)力的。
每年又或者間隔幾年,***總會(huì)變,長(zhǎng)江后浪推前浪。
「喬丹」、「奧尼爾」、「加內(nèi)特」、「麥迪」、「科比」、「詹姆斯」、「庫(kù)里」七位登頂***的球員。
接下來(lái)是對(duì)球員效力球隊(duì)的情況進(jìn)行分析。
首先讀取數(shù)據(jù)。
- import pandas as pd
- # 設(shè)置列名與數(shù)據(jù)對(duì)齊
- pd.set_option('display.unicode.ambiguous_as_wide', True)
- pd.set_option('display.unicode.east_asian_width', True)
- # 讀取數(shù)據(jù)
- df = pd.read_csv('nba.csv', header=None, names=['date', 'name', 'team', 'salary'])
接下來(lái)對(duì)數(shù)據(jù)進(jìn)行一些簡(jiǎn)單操作,分組匯總。
- # 對(duì)球員效力的球隊(duì)進(jìn)行計(jì)數(shù)
- df2 = df1['name'].value_counts().reset_index()
- print(df2)
得出如下結(jié)果。
確實(shí)沒(méi)想到哈登已經(jīng)在火箭待了八年了。
從以前雷霆的三巨頭,到如今的火箭當(dāng)家球星。
不過(guò)還是有遺憾的,常規(guī)賽把把MVP,然而五進(jìn)季后賽,四次都被勇士干掉了。
你說(shuō)誰(shuí)的心態(tài)不會(huì)蹦...
科比則是在湖人待了20年,24號(hào)球衣,湖人是永遠(yuǎn)不會(huì)忘記的。
下面對(duì)球員效力過(guò)的球隊(duì)進(jìn)行統(tǒng)計(jì)。
- # 對(duì)球員效力的球隊(duì)進(jìn)行計(jì)數(shù)
- df2 = df1['name'].value_counts().reset_index()
- print(df2)
為什么想到這個(gè)呢,主要是之前奧尼爾的彩虹球衣給我留下了深刻的印象。
輾轉(zhuǎn)反側(cè),顛沛流離,其中又有多少辛酸呢。
先看一下效力過(guò)球隊(duì)多的那幾位。
林書豪從尼克斯崛起過(guò)一段時(shí)間后,慢慢的又變得沒(méi)什么聲音,一直在兜兜轉(zhuǎn)轉(zhuǎn),也是可惜。
魔獸霍華德處境也很尷尬,記得那時(shí)我剛看NBA的時(shí)候,就是霍華德、詹姆斯、科比的時(shí)代。
一個(gè)能單換詹姆斯的球員,隨著時(shí)間的推移,也變得毫無(wú)存在感。
奧尼爾如同上面提到過(guò)的那樣,彩虹球衣收集者,6支球隊(duì)。
下面看一下只效力過(guò)一只球隊(duì)的球員。
首先是勇士的三位全明星球員,庫(kù)里、湯普森、格林。
還有雷霆的威少、湖人的科比、火箭的姚明,獨(dú)行俠的諾維茨基。
諾天王奪冠的時(shí)候隊(duì)伍還叫小牛,只不過(guò)現(xiàn)在改名為獨(dú)行俠。
那一年確實(shí)是沒(méi)想到諾天王能奪冠。
接下來(lái)看一下這些整個(gè)職業(yè)生涯只效力一只球隊(duì)的球員,他們究竟效力那個(gè)球隊(duì)。
- names = []
- for i in df2[df2['name'] == 1]['index']:
- names.append(i)
- print(df1.loc[df1['name'].isin(names)].sort_values(by='date', ascending=False))
結(jié)果如下。
不少熟悉的面孔,你認(rèn)識(shí)幾個(gè)呢?
下面再看一下球員職業(yè)生涯時(shí)間最長(zhǎng)的。
- df3 = df.groupby(['name']).count().reset_index()
- print(df3.sort_values(by='date', ascending=False))
結(jié)果如下。
今年退役的,上面就有兩個(gè),閃電俠—韋德和諾天王—諾維茨基。
兩大傳奇巨星退役,也預(yù)示著一代人的青春與回憶的落幕。
四、總結(jié)
昨天的比賽,火箭雖然輸了,但是直到***一刻火箭的隊(duì)員還是沒(méi)有選擇放棄。
連著犯規(guī)制造投球機(jī)會(huì),連進(jìn)三個(gè)三分球。
雖敗猶榮,只是成王敗寇,可惜了呀。
即使勇士少了杜蘭特,火箭還是沒(méi)能夠跨過(guò)那座山。
當(dāng)然勇士也展現(xiàn)出了他們作為總冠軍該有的實(shí)力。
球隊(duì)的成員也在關(guān)鍵的時(shí)刻站了出來(lái)—一支總冠軍球隊(duì)該有的底蘊(yùn)與實(shí)力。