zoukankan      html  css  js  c++  java
  • 梅西、内马尔谁是全能的五边形战士?教你用BI做出可视化能力图

    最近因为欧洲疫情的原因,好多足球比赛都不得不停止,相信很多球迷现在在家中都没办法看比赛了。

    而同样作为球迷的我突发奇想,如果用数据分析的角度去看欧洲的世界级球员,是否每个都名副其实呢?

    说做就做,我赶紧用python从网上爬取了这个赛季五大联赛的球员数据,然后用国产数据分析工具FineBI做了一次全面的可视化分析,果不其然发现了问题!

    数据获取

    本次分析的数据来源于T足球网,这个网站应该是中文足球数据网站里最全面的了,不论是球员的详细比赛数据,还是球队的全队记录都能很容易查到,其中我们需要的数据就在“球员数据”页面,点进去就可以开始爬取了

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    查看球员数据页面的源代码,发现页面结构比较简单,我们需要提取的数据有“球员”、“球队”、“年龄”、“进球”、“创造机会”、“助攻”、“出场时间”、“传球率”、“出场次数”、“争顶”、“全场最佳”、“位置”等

    从结构上可以看出这些信息大概分成了两个部分进行储存,我们获取球员个人信息时只要定位到这两个标签提取其文本信息就行了,不过要注意运用try,except,只有自己不断的试才能发现这个东西真的好用,特别是在爬网页的时候,有些数据是空的,用个pass跳过就好了,不然就会一直卡在那

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    最终爬取下来的数据有大约17000多行,包含了五大联赛大部分球员的详细数据,不过爬取下来的数据会有些混乱,我这里直接在excel里清洗了一下,如图所示

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    数据处理

    有了数据下一步就要做数据处理和加工了,不过这一次我没有用python的NumPy+Matplotlib库,因为实在是不想敲代码。

    所以还是老规矩,直接把数据导入数据库用BI工具分析,在可视化UI和数据处理上比python要方便一些。

    首先,打开FineBI的管理界面,点击数据连接,选择数据库连接之后,将爬取好的数据表直接导入到系统之中,供我们下一步分析使用。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    我们直接把数据导入到业务包中,然后进行选择添加自助数据集,将刚才导入的数据表中所有指标全部添加到数据集里,这样我们的数据准备工作就基本完成了,下一步就可以按照场景进行数据加工。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    想要判断一个球员在实际比赛中的真实状态,我们不能只看进球、助攻这些数据,还应该关注球员的“场均进球”、“场均助攻”、“场均创造机会”、“场均出场时长”等数据。

    在FineBI中我们先选择编辑数据集,在左侧编辑栏选择“新增列”,将新列命名为“场均出场时间”,公式为“Mins/出场”,然后点击确定即可。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    以此类推,我们分别再新增五列分别为:

    • “场均进球”:平均每场比赛球员的进球数,公式为“进球/出场”。
    • “场均助攻”:平均每场比赛球员的助攻数,公式为“助攻/出场”
    • “场均犯规”:平均每场比赛球员的黄牌和红牌数,公式为“红黄牌/出场”
    • “进球耗时”:球员平均每个进球所间隔的上场时间,公式为“Mins/进球”
    • “场均创造机会”:平均每场比赛球员创造的进攻机会,公式为“创造机会/出场”

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    球员的数据情况跟其年龄是有很大关系的,有的球员是大气早成,而有的球员是越老越妖,因此我们需要考虑球员的实际体能效率,除了出场效率外,还要关注球员在场上的表现,因此自定义公式为:

    “(年龄/平均出场时间)*(0.2*争顶成功+0.3场均进球+0.3*场均助攻+0.2*场均创造机会)”

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    基本上我们需要的数据都计算完成了,最后我们再进行分组汇总一下,将不需要的指标比如“排名”、“评分”等删除,然后按照球员顺序进行排列,完成最终的数据集加工

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    数据可视化

    数据集加工完毕,点击“创建组件”就可以进入可视化仪表板进行UI可视化了,每一个图表都需要创建一个组件,然后选择对应的图表类型,将指标拖拽到横纵坐标里,最后再简单地设置一下颜色等细节就OK了,过程很简单这里也不贴了,直接上最终的结果!

    (图片可能比较模糊,下载下来查看原图会清晰一些)

    1、哪些球员是进球机器?

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    这里筛选了五大联赛中进球数排名前15的球员,用柱状图表示,颜色越深进球数越多;此外还有其每场的场均进球,用折线表示

    可以看到,因莫比莱和莱万在进球数和场均进球上具有极强的统治力,其他场均超过1球的只有C罗、姆巴佩和阿圭罗,而梅西以0.9的场均进球数排名第6,时光给他的变化太大了

    另外值得关注的是内马尔,似乎在大巴黎找到了自己当初的感觉,场均0.8的进球数足以保证马儿在世界前锋中排名前十的地位

    2、哪些球员是助攻王?

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    助攻数据里德布劳内、布勒和桑乔占据前三甲,其中穆勒的场均助攻更是达到0.94,远超德布劳内的0.68,在场均助攻上表现同样卓越的还有恩昆库(97年出生的恩昆库最近表现很抢眼)

    除此之外,其他球员的助攻数据差别不大,其中梅西以12个助攻、场均0.6助攻的数据赫然在列,梅球王的全面性还是不容置疑的

    3、哪些老球员的体能效率最高?

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    体能效率在上面已经说明了,是结合球员的年龄、出场时间以及场上表现得到的,这里筛选出了年龄最老的15名球员的体能效率,在这里我们能够看到很多熟悉的老将

    可以看出,哲科(还记得17年曾经入选金球奖)和斯利马尼(不太了解,好像在法甲踢球)的体能情况还是很强大的,C罗和梅西的体能效率基本一致,但是滑落速度也是肉眼可见。而本泽马、苏牙、卡索拉、戈麦斯这些球员的体能效率已经下滑到0.1左右,差距非常大了

    4、哪些球员最辛苦?

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    这里直接用的词云表示球员的场均出场时间,在这里我们还能看到梅西的名字,巴萨最近没人可用,只能辛苦梅西在场上还能跑起来

    此外,范迪克、阿什拉夫这些球员的中后场核心,才是球队里最辛苦的人,基本场均出场在90分钟以上。

    5、哪些球队的进攻效率最高?

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    这里统计的是球队的进攻数和场均进球,可以看到拜仁和曼城牢牢占据前两名,无论是进球数还是场均进球上都远超其他球队,基本山每场都要进3个球;而今年的利物浦和拉齐奥也不用多说,只是在场均进球上略显不足。

    此外德甲的莱比锡红牛、英超的莱斯特城等球队表现也都不错,而皇马和巴萨这两大世界级球队的数据则显得不尽如人意,皇马在换帅之前的场均进球竟然不足1个,确实说不过去。

    6、做了一些球员的能力图

    梅西

    可以看到梅西的能力缺失了争顶的一角,这也是没办法,不过在创造机会和进球上几乎是满分,总体上梅西的能力较为全面,其能力图更类似于体型。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    C罗

    扇形能力图,与梅西的能力图相比更为独立,进球、争顶都是满分,但是在助攻数据和创造机会上比较欠缺,不过也说明目前尤文的主要进攻手段都放在了C罗身上。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    内马尔

    典型的蝴蝶型能力,主要突出的能力是进球和传球,而且突破、盘带和终结能力都不错,但是在争顶上较为欠缺,是比较典型的技术性球员。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    姆巴佩

    作为大巴黎的双星之一,与内马尔的能力基本一致,终结能力和传带能力突出,争顶、助攻不佳,但是其创造机会的能力很突出,因此能力图更接近三角状。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    因莫比莱

    跟C罗的能力图很类似,都是终结能力顶尖,争顶能力一流,但是助攻和创造机会的能力不强,此外因莫比莱的传球成功率略显不足,整体能力更类似于一个扇形。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    孙兴慜

    作为亚洲的顶级前锋,其能力图比起上面那些世界顶级球员来说就显得有些单薄了,盘带能力上佳,然而作为前锋终结能力不够,整体来说技术能力较为单一。

    梅西、内马尔、姆巴佩谁才是最佳全能战士?对比数据后发现是他

    当然还要其他球员的数据能力图,这里就不贴出来了,不过这些能力图也只是根据最近的数据绘制出的,仅供大家娱乐参考!

  • 相关阅读:
    Windows下Git使用记录03 Git GUI与金山快盘组建私人代码仓库进行项目开发
    windows下GIT使用记录00准备阶段
    setnx分布式锁原理
    Redis 中 bgsave 方式持久化的细节问题
    IOS开发(十一):场景(3)模态切换示例
    Android:TextView属性大全
    Android:ActionBar官方指导+个人整理
    IOS开发(十二):UIDatePicker
    IOS开发(十三):UIDatePicker、场景切换综合示例
    IOS开发(十):场景(2)模态切换示例
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13325629.html
Copyright © 2011-2022 走看看