当前位置: 首页 > 后端技术 > Python

电竞天才Uzi宣布退役!用数据带你回顾他的职业生涯

时间:2023-03-26 12:56:43 Python

【简介】:今天我们就来说说英雄联盟的传奇选手Uzi。Python技术部分请参考第四部分。给我看数据,用数据说话近日,在B站被“后浪”“如海”刷屏后,一名男子也正式宣布退役。他就是英雄联盟知名选手Uzi。很多人都在感慨“上帝退休了,我的青春结束了”。一时间,Uzi的退役在网络上引起热议,“电竞”一词再次冲上热搜榜首。作为电竞行业飞速发展的代表人物,Uzi在6月3日正式宣布,由于手部受伤以及糖尿病的身体状况让他无法退役,令人尴尬。今天,我们就带大家盘点一下英雄联盟传奇选手Uzi的职业生涯。01.说起Uzi,从一个网瘾少年到年薪千万的电竞天才,如果有玩游戏的朋友,对这个名字肯定不会陌生。Uzi,本名JaneProud,人称小狗,是站在电竞巅峰的男人,不不不,更确切地说,他应该是站在电竞商业价值巅峰的男人,唯一与NIKE签约的电竞选手。Uzi在英雄联盟的整个职业生涯中都取得了非常辉煌耀眼的成绩,在英雄联盟乃至整个电竞圈都享有盛誉。在英雄联盟领域,Uzi拿下了很多冠军,收获了很多粉丝。2018年雅加达亚运会,他率领国家队击败实力强大的韩国队,从而帮助中国队夺得历史上第一枚电竞亚运会金牌。说到小狗,就不得不提到皇室。小狗们在新老王室呆了7年,因为王室降级到低级联赛,他们中途离开了。所以别说小狗是三姓奴隶。忠诚。小狗的职业生涯中也有很多神秘的操作。著名的是世锦赛的“我不挑灯笼,我傲八强”,还有著名的沐浴项目,总能获得沐浴犬的成就。下面我们结合他的职业生涯数据来总结一下Uzi作为选手的表现。02.2013-2019Uzi七年生涯数据我们整理了Uzi从13年到19年的数据。具体代码解释请参考第四部分。Uzi在每年的比赛中的表现首先,大家可以看到Uzi在每年的比赛中的表现。在这里您可以看到显示输赢的直方图。红色是赢,蓝色是输,曲线是胜率。2018年应该是巅峰,但了解的人都知道,2018年皇室应该是最有希望的一年,横扫全国,队内关系好,亚运会的华人冠军中就有4名RNG成员。但是再多的荣耀也比不上S赛输给G2。赛前,我觉得我可以把对手锤到地上,但赛后,我被大家锤到了地上。这或许是Uzi退役的转折点。那次世界赛,RNG输给了自己,IG输给了女团。如果不是王校长出面,IG可能就是史上最差的冠军了。Uzi击杀/死亡/KDA曲线图我们来看看Uzi每年的击杀/死亡/KDA曲线图。2017年KDA最高,2018年杀人最多,只能说2018年RNG内战真的很强,但是2015年3.8是个什么鬼,QG发生了什么,知道答案的就知道了,你可以给我们留言。Uzi最喜欢的英雄Top10看这张图,Uzi本场比赛最喜欢的英雄,EZ男枪领先,毕竟是一代神。但是VN也可以排名靠前。只能说,它确实是自己命运的英雄,它的操作真的很好。Uzi用英雄Top10说明我们锁X,也就是英雄锁,切换到KDA和最高击杀曲线,卡莎还是最稳定的,所以最近的LPL,卡莎是非ban必选英雄,韩冰的KDA和人头的差距有点大,证明韩冰真的是个工具人。Uzi用前10的英雄补给/经济表现终于看到了补给和经济。卡莎再次登顶,这个英雄太适合游戏了。说到补给,就不能忘记Uzi的名场面。5.03。微博数据和B站数据Uzi官宣退役微博数据我们抓取了puppy的退役微博,做了用户画像:Uzi的微博粉丝性别比例显示,男性粉丝占绝大多数,高达76.61%。女性粉丝为23.39%。Uzi微博粉丝年龄分布发现,小狗果然是90后青年,90后粉丝占比最高,达到66.7%。只能感叹我们的青春真的结束了!其次是00后,占比20.08%。Uzi对词云图的微博评论,从词云图也能看出是在鼓励小狗继续往前走,但是,作为签约Nike的选手,退役后应该不会比XX差。Uzi入驻B站词云数??据,我们还制作了小狗在B站第一条视频评论的词云图:该视频于6月5日发布至B站,目前该视频累计播放量已达到853.6万。窗帘是44,000。总站日最高排名第一。C君认为,UziB站第一条视频评论数据的亮点在于level2,在之前接受厂长采访时,他表示:“打Uzi,抓到level2就完蛋了””也许这句话会一直持续到小狗直播结束。05.使用Python爬取Uzi,七年职业生涯数据我们使用Python获取并分析了积分网站、微博、哔哩哔哩相关的数据,并进行了分析。事件数据分析的代码显示在这里。01数据读取首先读取分析用的数据集,包括2013-2019年UZI赛事的整体表现和使用的英雄数据。数据预览如下:importpackageimportnumpyasnpimportpandasaspd读入英雄数据df_hero=pd.DataFrame()foriinrange(7):df=pd.read_excel('../data/UZIeventdata.xlsx',sheet_name=i)df_hero=df_hero.append(df,ignore_index=True)df_hero.head()读取游戏数据df_com=pd.read_excel('../data/UZIeventdata.xlsx',sheet_name=7)df_com02数据清洗这里我们对数据进行初步处理,主要包括:winsandlosses:提取胜负字段KDA:提取值winorlossdf_hero['winfield']=df_hero['winfield']。str.extract('W-(\d+)L').astype('int')df_hero['输场']=df_hero['win'].str.extract('W-.*?L-(\d+)').astype('int')KDA提取值df_hero['KDA_2']=df_hero['KDA'].str.extract('(\d+.*\d+)').astype('float')df_hero.head()03数据可视化首先导入可视化库,确定分析目的:UZI每年的比赛场次和成绩FieldchartUZI在每年比赛UZI最喜欢的英雄Top10UZI使用英雄Top10表现UZI使用Top10英雄补给/经济表现frompyecharts.chartsimportBar,Line,Pie,PagefrompyechartsimportoptionsasoptsUZI使用英雄数据分析UZI每年的比赛和输赢走势图d+)')提取数据x1_line1=df_com['year'].values.astype('str').tolist()y1_line1=df_com['wins'].values.tolist()y1_line2=df_com['loses'].values.tolist()y1_line3=[i*100foriindf_com['winningrate']]barchartbar1=Bar()bar1.add_xaxis(x1_line1)bar1.add_yaxis('winningfield',y1_line1)bar1.add_yaxis('losingfield',y1_line2)bar1.extend_axis(yaxis=opts.AxisOpts(name='winrate',axislabel_opts=opts.LabelOpts(formatter="{value}%"))bar1.set_global_opts(title_opts=opts.TitleOpts('UZI每年赛事表现'),yaxis_opts=opts.AxisOpts(name='sports',axislabel_opts=opts.LabelOpts(formatter="{value}times")))折线图line1=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line1.add_xaxis(x1_line1)line1.add_yaxis('中奖率',y1_line3,yaxis_index=1)级联bar1.overlap(line1)bar1.render()df_com.KDA.str.extract('(\\d+)')barchartbar1=Bar()bar1.add_xaxis(x1_line1)bar1.add_yaxis('winfield',y1_line1)bar1.add_yaxis('losefield',y1_line2)bar1.extend_axis(yaxis=opts.AxisOpts(name='中奖率',axislabel_opts=opts.LabelOpts(formatter="{value}%")))bar1.set_global_opts(title_opts=opts.TitleOpts('UZI每年的表现'),yaxis_opts=opts.AxisOpts(name='time',axislabel_opts=opts.LabelOpts(formatter="{value}times")))polyline图line1=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line1.add_xaxis(x1_line1)line1.add_yaxis('winningrate',y1_line3,yaxis_index=1)堆积图bar1.overlap(line1)bar1.render()每年UZI赛事的整体表现df_com['击杀总数']=df_com['击杀总数(平均)'].str.extract(r'(\d+)').astype('int')df_com['死亡总人数']=df_com['死亡总人数(平均)'].str.extract(r'(\d+)').astype('int')提取数据x1_line1=df_com.year.astype('str').values.tolist()y1_line1=df_com.totalkills.values.tolist()y1_line2=df_com.totaldeaths.values.tolist()y1_line3=df_com.KDA.values.tolist()polylineFigureline2=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line2.add_xaxis(x1_line1)line2.add_yaxis('kill',y1_line1)line2.add_yaxis('死亡',y1_line2)line2.extend_axis(yaxis=opts.AxisOpts(name='KDA',axislabel_opts=opts.LabelOpts(formatter="{value}")))line2.set_global_opts(title_opts=opts.TitleOpts('UZI每年表现'),yaxis_opts=opts.AxisOpts(name='times'))line2.set_series_opts(linestyle_opts=opts.LineStyleOpts(width=3))折线图line3=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line3.add_xaxis(x1_line1)line3.add_yaxis('KDA',y1_line3,yaxis_index=1)覆盖line2.overlap(line3)line2。render()x1_line1=df_com.year.astype('str').values.tolist()y1_line1=df_com.kills.values.tolist()y1_line2=df_com.deaths.values.tolist()y1_line3=df_com.KDA.values.tolist()折线图line2=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line2.add_xaxis(x1_line1)line2.add_yaxis('kill',y1_line1)line2.add_yaxis('death',y1_line2)line2.extend_axis(yaxis=opts.AxisOpts(name='KDA',axislabel_opts=opts.LabelOpts(formatter="{value}"))line2.set_global_opts(title_opts=opts.TitleO('UZI每年的表现'),yaxis_opts=opts.AxisOpts(name='times'))line2.set_series_opts(linestyle_opts=opts.LineStyleOpts(width=3))折线图line3=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line3.add_xaxis(x1_line1)line3.add_yaxis('KDA',y1_line3,yaxis_index=1)Cascadeline2.overlap(line3)line2.render()UZI最喜欢的英雄Top10x1_line1=df_com.year.values.astype('str').tolist()y1_line1=df_com.wins.values.tolist()y1_line2=df_com.Loss.values.tolist()y1_line3=[i*100foriindf_com.winrate]bar1bar1=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar1.add_xaxis(x1_line1)bar1.add_yaxis('赢场',y1_line1)bar1.add_yaxis('输场',y1_line2)bar1.extend_axis(yaxis=opts.AxisOpts(name='赢率',axislabel_opts=opts.LabelOpts(formatter="{value}%"))bar1.set_global_opts(title_opts=opts.TitleOpts('UZI每年的表现'),yaxis_opts=opts.AxisOpts(name='time',axislabel_opts=opts.LabelOpts(formatter="{value}times")))折线图line1=Line(init_opts=opts.InitOpts(width='1350px',height='750px'))line1.add_xaxis(x1_line1)line1.add_yaxis('中奖率',y1_line3,yaxis_index=1)级联bar1.overlap(line1)bar1.render()hero_num=df_hero.groupby('hero')['scene'].sum().sort_values(ascending=False)bar2=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar2.add_xaxis(hero_num[:10].index.tolist())bar2.add_yaxis('',hero_num[:10].values.tolist())bar2.set_global_opts(title_opts=opts.TitleOpts(title='UZI最喜欢的英雄Top10'),visualmap_opts=opts.VisualMapOpts(max_=80))bar2.render()结语最后C君想说的是Uzi的游戏天赋是有目共睹的,就像反过来的man转吃鸡的Q居然拿到了世界冠军,但这些都不是我们普通人稍微练练就能达到的。王者两位职业选手的教育就是最好的例子,所以我们还是脚踏实地的做一些自己擅长的事情,把爱好当成爱好,这不是很好吃吗!CDA数据分析师出品作者:泽龙、米卡数据:振达后期制作:泽龙