
CDA數(shù)據(jù)分析師出品
作者:澤龍、Mika
數(shù)據(jù):真達
后期:澤龍
【導(dǎo)讀】
北京時間7月20日,這個賽季的西甲聯(lián)賽正式結(jié)束,最受關(guān)注的“全村的希望”武磊和他的西班牙人隊徹底告別西甲。
今天我們就用數(shù)據(jù)來聊一聊武磊。Python技術(shù)部分請直接看第二部分。
今天我們聊一聊 武磊
最近,中國足球又成為了社會的焦點話題,12分鐘跑、體能、成績成了社會人士和專業(yè)人士互懟的話題,外行懟內(nèi)行基本功都不行,還玩啥,內(nèi)行懟外行足球是綜合運動,你不懂。真的是熱鬧非凡,可能足球真的只分為內(nèi)行和外行,完全不關(guān)心的人很少,是個看球的人都可以說自己懂足球,真是現(xiàn)實唯唯諾諾,網(wǎng)絡(luò)重拳出擊。
回到本期的主人公,中國足球第一人武磊,武球王,下賽季,武磊的去向一直占據(jù)的體育板塊的頭版頭條,幾家有中國背景的球隊都想得到武磊,商業(yè)價值的確無可比擬,看看愛奇藝西甲的收視率,武磊登場的比賽和不登場的比賽相差70%,西班牙人整體收視率可以和英超媲美了,這就是商業(yè)價值,西班牙人雖然降級,但是樂動體育可是知名度節(jié)節(jié)攀升,這筆投資性價比還是很高的。
我們抽取了皇家西班牙人足球俱樂部在18/19 19/20 2個賽季的全部比賽數(shù)據(jù),做了可視化分析,下面我們就來對應(yīng)數(shù)據(jù),解讀下武磊的表現(xiàn)。
本文主要從這幾個角度展開
01數(shù)據(jù)解讀武磊
我們先來看看武磊職業(yè)生涯中的各項數(shù)據(jù)分析:
1武磊近年生涯回顧
看到武磊的生涯評分,從16年到20年,雖然成下降趨勢,但是西甲的強度和中超的強度本身是2個世界,所以說下降也是情理之中,畢竟對手和隊友都不一樣,在西甲的1.5個賽季,武磊算是高開低走,但是西班牙人更是出現(xiàn)斷崖式的下滑,所以要是對比武磊和西班牙人的下滑曲線,C君覺得這個賽季西班牙人真的配不上武磊。
2武磊身價達到1000萬歐元
看了生涯走勢,再看下身價走勢。
武磊小時候的愿望,我要值1000萬—真的實現(xiàn)了,西甲中下游球隊的主力前鋒值1000萬也算是公平公正了,雖然進球數(shù)有點刺眼,但是創(chuàng)造機會能力強。最近武磊身價下降了200萬,主要是因為西班牙人本賽季真的不給力,下賽季假如武磊可以登陸英超,估計身價可以更高。
3武磊歐洲進球曲線圖
為了更直觀的感受武磊的進球效率,我們統(tǒng)計了武磊正式比賽的進球數(shù),做了折線圖。
直觀感受是進球效率的確不高,但西班牙人的進攻效率更是低下,基本每場比賽射門更是寥寥無幾。只能說武磊不是強力中鋒,沒有能力一個人左右鋒線,他更加舒服的位置是踢二中鋒,跑位、射門,而不是護球、盤帶、過人、傳球。
4西班牙人進攻效率對比
其實也不能完全怪武磊的進攻效率,看看西班牙人的本賽季的進球數(shù),也是慘絕人寰,而且這個不光是西甲,還加入了歐聯(lián)杯的比賽,要是只看西甲,可以說西班牙人不降級都說不過去,場均也就1個球,再加上后衛(wèi)線最強的是主力門將,防守常年出問題,可以說西班牙人配的上一個降級名額。
西班牙人隊得分走勢(2018.8.19-2019.5.18)
西班牙人隊得分走勢(2019.7.27-至今)
我們對比了上賽季的西班牙人,可以明顯看出上賽季的西班牙人進攻好很多,可以達到場均2個球,而且穩(wěn)定,后防線和本賽季相差不多,但是1個球就可以決定勝負,3分和0分的差距是巨大的。
說到防守,大家可能印象中防守弱的球隊都不夠兇狠,就是平時說的踢球比較干凈,我們統(tǒng)計了犯規(guī)走勢圖,其實大體上看,和西甲平均值相差無幾,西甲本身就不是強調(diào)身體的聯(lián)賽。實際看來,西班牙人的丟球主要源于漏人和被人打反擊。西班牙人和巴塞羅那同屬一個地區(qū),其實踢球的風(fēng)格也相差無幾。在球員能力嚴重不足的情況下去打全攻全守的足球,去打傳控足球無異于自殺,中場丟球被人打反擊就是本賽季西班牙人的寫照。
西班牙人的降級真的是防守問題大于進攻問題,防守才是定位于小球會的球隊立足之本。武磊的確浪費了不少機會,但每場觸球都是個位數(shù),也是挺難為武磊的,大家都在說孫興慜厲害,但是孫興慜浪費的機會、拿球的機會都要比武磊多很多,只能說他贏得了信任,拿球機會多了,形成了正向循環(huán),武磊還沒有真正贏得五大聯(lián) 賽的最重。
02數(shù)據(jù)分析步驟
我們使用Python獲取了球探體育網(wǎng)站上西班牙人的球隊數(shù)據(jù),地址:
http://zq.win007.com/cn/team/Summary/100.html
以下展示部分分析代碼:
首先導(dǎo)入所需包,其中pandas用于數(shù)據(jù)讀入和數(shù)據(jù)整理,pyecharts用于數(shù)據(jù)可視化分析。
import pandas as pd from pyecharts.charts import Bar, Pie, Line, Page from pyecharts import options as opts
1數(shù)據(jù)讀入
該數(shù)據(jù)包含了西班牙人球隊2013-08-20至2020-07-17日比賽數(shù)據(jù),數(shù)據(jù)預(yù)覽如下:
# 讀入數(shù)據(jù) df_4 = pd.read_excel('../data/球探體育比賽數(shù)據(jù).xlsx') # 提取日期 df_4['日期'] = df_4['時間'].str.split(' ').str[0] df_4.head()
2數(shù)據(jù)預(yù)處理
去掉友誼賽的數(shù)據(jù)并按照日期進行升序排序。
# 去掉友誼賽 df_4 = df_4[df_4['比賽']!='球會友誼'] # 排序 df_4 = df_4.sort_values('日期') df_4.shape
# 篩選時間 df_sel2 = df_4[(df_4['日期'] >= '2019-07-26')] df_sel2.head()
# 提西班牙人 主隊比分 zhudui = df_sel2[df_sel2['主隊']=='西班牙人'][['日期', '比分']] # 分數(shù) zhudui['分數(shù)'] = zhudui['比分'].str.split('-').str[0].astype('int') # 提西班牙人 客隊比分 kedui = df_sel2[df_sel2['客隊']=='西班牙人'][['日期', '比分']] # 分數(shù) kedui['分數(shù)'] = kedui['比分'].str.split('-').str[1].astype('int') # 提取日期 riqi = df_sel2[['日期']] # 合并數(shù)據(jù) riqi = pd.merge(riqi, zhudui[['日期', '分數(shù)']], on='日期', how='left') riqi = pd.merge(riqi, kedui[['日期', '分數(shù)']], on='日期', how='left') riqi.columns = ['日期', '主隊分數(shù)', '客隊分數(shù)'] # 填補空值 riqi = riqi.fillna(0) # 分數(shù)相加 riqi['分數(shù)'] = riqi['主隊分數(shù)'] + riqi['客隊分數(shù)'] riqi.head()
# 產(chǎn)生數(shù)據(jù) x_data = riqi['日期'].values.tolist() y_data = riqi['分數(shù)'].values.tolist() # 折線圖 line5 = Line(init_opts=opts.InitOpts(width='1350px', height='750px')) line5.add_xaxis(x_data) line5.add_yaxis('', y_data, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min"), opts.MarkPointItem(type_="max"),]), ) line5.set_global_opts(title_opts=opts.TitleOpts(title='西班牙球隊得分走勢(2019.07.26-至今)'), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='45'), axisline_opts=opts.AxisLineOpts(is_on_zero=False), ), yaxis_opts=opts.AxisOpts(max_=10, min_=-1, name="", type_="value", axislabel_opts=opts.LabelOpts(formatter="{value}"), splitline_opts=opts.SplitLineOpts(is_show=False), ) ) line5.set_series_opts(linestyle_opts=opts.LineStyleOpts(width=3, color='#4169E1')) line5.render()
# 計算得分 score_num = riqi['分數(shù)'].value_counts() # 產(chǎn)生數(shù)據(jù) data_pair = [list(z) for z in zip([str(i) + '分'for i in score_num.index], score_num.values.tolist())] # 繪制餅圖 pie5 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px')) pie5.add('', data_pair, radius=['35%', '60%']) pie5.set_global_opts(title_opts=opts.TitleOpts(title='西班牙球隊得分分布(2019.07.26-至今)'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%')) pie5.set_series_opts(label_opts=opts.LabelOpts(formatter=": {c} \n占比(geybsqlxm7mc%)")) pie5.set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF', '#7FFFAA']) pie5.render()
3.3 賽季 2019-07-26 - 今 西班牙球隊犯規(guī) 黃牌 紅牌
# 篩選時間 df_sel2 = df_4[(df_4['日期'] >= '2019-07-26')] # 產(chǎn)生數(shù)據(jù) x_data = df_sel2['日期'].values.tolist() y_data1 = df_sel2['犯規(guī)'].values.tolist() y_data2 = df_sel2['黃牌'].values.tolist() y_data3 = df_sel2['紅牌'].values.tolist()
# 折線圖 line6 = Line(init_opts=opts.InitOpts(width='1350px', height='750px')) line6.add_xaxis(x_data) line6.add_yaxis('犯規(guī)', y_data1, markpoint_opts=opts.MarkPointOpts(data=[ opts.MarkPointItem(type_='max', name='最大值'), opts.MarkPointItem(type_='min', name='最小值') ])) line6.add_yaxis('黃牌', y_data2, markpoint_opts=opts.MarkPointOpts(data=[ opts.MarkPointItem(type_='max', name='最大值'), opts.MarkPointItem(type_='min', name='最小值') ])) line6.add_yaxis('紅牌', y_data3, markpoint_opts=opts.MarkPointOpts(data=[ opts.MarkPointItem(type_='max', name='最大值'), opts.MarkPointItem(type_='min', name='最小值') ])) line6.set_global_opts(title_opts=opts.TitleOpts(title='西班牙球隊犯規(guī)-黃牌-紅牌走勢圖(2019.07.26-至今)'), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='45'), axisline_opts=opts.AxisLineOpts(is_on_zero=False)), yaxis_opts=opts.AxisOpts(max_=30, min_=0, name="", type_="value", axislabel_opts=opts.LabelOpts(formatter="{value}"), splitline_opts=opts.SplitLineOpts(is_show=False), ) ) line6.set_series_opts(label_opts=opts.LabelOpts(is_show=False), linestyle_opts=opts.LineStyleOpts(width=3) ) line6.render()
結(jié)語
本賽季,到底是武磊配不上西班牙人,還是西班牙人配不上武磊,這個還是留給大家去評判,可以留言給我們,說出你的觀點。
如果還想看任何體育相關(guān)的數(shù)據(jù)分析
同樣請給我們留言吧
我們立刻安排上!
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10