火箭五年四遇勇士,終究仍是敗了。

圖片


昨天看了火箭和勇士的G6大戰,最終火箭3比4出局。php


在火箭的近五年季後賽,一共有四次是和勇士交手,最終都以失敗了結。html


我日常是不多看NBA比賽的,因此看完以後便想寫點東西app


懷念一下那些年咱們一塊兒關注過,固然也打過的籃球。ide


涉及的東西很少,主要是NBA球員歷年薪資狀況以及效力球隊狀況。網站


這裏的球員都是NBA的籃球巨星。編碼


至於超巨是哪幾個,估摸着你們各自都有各自的想法啦。url


我也很少說~spa



/ 01 / 獲取分析3d


數據從下面這個網站上獲取,獲取熱門球員信息。code


詳情見下圖。


image.png


這裏以詹姆斯爲例,首先查看他的網址ID。


image.png


接下來進入球員數據概況詳情頁。


查看他各賽季的薪資以及效力球隊狀況。


image.png

獲取賽季、球隊以及薪金數據。


image.png



/ 02 / 數據獲取


具體代碼以下。


 
 

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
    # 對請求結果進行編碼解碼處理,避免出現亂碼
    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]
        # 球隊
        team = tr.find('a').get_text()
        # 薪水
        salary = tr.find_all(class_='normal')[1].get_text().replace('萬美圓''')
        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
    # 對請求結果進行編碼解碼處理,避免出現亂碼
    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()


最後成功獲取數據。


包含賽季,球員,效力球隊,薪資信息。


image.png

將球員數據轉化爲特定格式,以便輸出動態視頻。


具體的能夠看我以前寫的一篇文章,文章連接以下。


Python數據可視化:25年GDP之變


image.png


一共784條數據。



/ 03 /  數據可視化


首先來看一下球員的薪資狀況,從1990年到2020年。


https://v.qq.com/x/page/b0869qu47ii.html


薪資應該也是能體現出一個球員實力的。


每一年又或者間隔幾年,第一總會變,長江後浪推前浪


「喬丹」、「奧尼爾」、「加內特」、「麥迪」、「科比」、「詹姆斯」、「庫裏」七位登頂第一的球員。


接下來是對球員效力球隊的狀況進行分析。


首先讀取數據。


 
 

import pandas as pd

# 設置列名與數據對齊
pd.set_option('display.unicode.ambiguous_as_wide'True)
pd.set_option('display.unicode.east_asian_width'True)

# 讀取數據
df = pd.read_csv('nba.csv', header=None, names=['date''name''team''salary'])


接下來對數據進行一些簡單操做,分組彙總。


 
 

# 對球員以及球隊分組計數
df1 = df.groupby(['name''team']).count().reset_index()
print(df1)


得出以下結果。


image.png


確實沒想到哈登已經在火箭待了八年了。


從之前雷霆的三巨頭,到現在的火箭當家球星。


不過仍是有遺憾的,常規賽把把MVP,然而五進季後賽,四次都被勇士幹掉了。


你說誰的心態不會蹦...


科比則是在湖人待了20年,24號球衣,湖人是永遠不會忘記的。


下面對球員效力過的球隊進行統計。


 
 

# 對球員效力的球隊進行計數
df2 = df1['name'].value_counts().reset_index()
print(df2)


爲何想到這個呢,主要是以前奧尼爾的彩虹球衣給我留下了深入的印象。


展轉反側,顛沛流離,其中又有多少辛酸呢。


image.png


先看一下效力過球隊多的那幾位。


image.png


林書豪從尼克斯崛起過一段時間後,慢慢的又變得沒什麼聲音,一直在兜兜轉轉,也是惋惜。


魔獸霍華德處境也很尷尬,記得那時我剛看NBA的時候,就是霍華德、詹姆斯、科比的時代。


一個能單換詹姆斯的球員,隨着時間的推移,也變得毫無存在感。


奧尼爾如同上面提到過的那樣,彩虹球衣收集者,6支球隊。


下面看一下只效力過一隻球隊的球員。


image.png


首先是勇士的三位全明星球員,庫裏、湯普森、格林。


還有雷霆的威少、湖人的科比、火箭的姚明,獨行俠的諾維茨基。


諾天王奪冠的時候隊伍還叫小牛,只不過如今更名爲獨行俠。


那一年確實是沒想到諾天王能奪冠。


接下來看一下這些整個職業生涯只效力一隻球隊的球員,他們究竟效力那個球隊。


 
 

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))


結果以下。


image.png


很多熟悉的面孔,你認識幾個呢?


下面再看一下球員職業生涯時間最長的。


 
 

df3 = df.groupby(['name']).count().reset_index()
print(df3.sort_values(by='date', ascending=False))


結果以下。


image.png


今年退役的,上面就有兩個,閃電俠—韋德和諾天王—諾維茨基。


兩大傳奇巨星退役,也預示着一代人的青春與回憶的落幕



/ 04 / 總結


昨天的比賽,火箭雖然輸了,可是直到最後一刻火箭的隊員仍是沒有選擇放棄。


連着犯規制造投球機會,連進三個三分球。


雖敗猶榮,只是成王敗寇,惋惜了呀。


即便勇士少了杜蘭特,火箭仍是沒可以跨過那座山。


固然勇士也展示出了他們做爲總冠軍該有的實力。


球隊的成員也在關鍵的時刻站了出來—一支總冠軍球隊該有的底蘊與實力。


萬水千山老是情,點個「在看」行不行。





···  END  ···


image.png

相關文章
相關標籤/搜索