1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 电竞天才Uzi宣布退役!用数据带你回顾他的职业生涯

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

时间:2021-12-28 16:56:10

相关推荐

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

【导语】:今天我们来聊聊英雄联盟传奇选手Uzi,Python技术部分请看第四部分。Show me data,用数据说话

最近,在被B站的「后浪」和「入海」刷屏后,一个男人也官宣了退役。他就是英雄联盟知选手Uzi,有许多人在感慨“神退役了,我的青春结束了”。一时间Uzi的退役引起网络热议,“电竞”一词再度冲上热搜榜首,作为电竞产业快速发展过程中的代表性人物,Uzi这次在6月3日官宣由于手伤和糖尿病的身体情况影响不得以退役,不禁令人唏嘘。

今天,我们就带你用数据盘点一下英雄联盟传奇选手Uzi的职业生涯。

01、从网瘾少年到年薪千万的电竞天才

说起Uzi,如果有玩游戏的小伙伴,对这个名字肯定不会陌生。Uzi,真名简自豪,人称小狗,站在电子竞技顶峰的男人,不不,更准确的说应该是站在电子竞技商业价值顶峰的男人,唯一一个和NIKE签约的电子竞技选手。

Uzi在英雄联盟的整个职业生涯中取得非常辉煌耀眼的成绩,在英雄联盟乃至整个电子竞技圈声名赫赫。在英雄联盟领域,Uzi获得过很多冠军,也收获了众多的粉丝。在的雅加达亚运会上,他率领国家队击败了强大的韩国队,从而帮助中国获得了历史首枚电竞亚运会金牌。

提到小狗,我们就不得不提到皇族,小狗的在新老皇族待了7年,中途离开还是因为皇族降级到低级别联赛,所以不要说小狗是三姓家奴,感觉还是很忠诚的。小狗职业生涯也有不少迷之操作,著名的就是世界赛“灯笼我不捡,八强我自豪”,还有著名的洗澡事件,永获洗澡狗成就。

下面我们就结合他的职业生涯数据,总结一下Uzi作为选手的表现。

02、- Uzi 七年职业生涯数据

我们整理了Uzi从到的数据,具体的代码解说请看第四部分。

Uzi各年度赛事表现

首先看到Uzi的各年度赛事表现,这里可以看到柱状图表示的是胜负,红为胜、蓝为负,曲线为胜率。

应该是巅峰,但是懂的人都知道,的皇族应该是最有希望的一年,国内横扫,队内关系好,亚运会中国夺冠当中就有4个RNG成员。但是再多的荣耀也抵不过S赛输给G2,赛前感觉能把对手锤进土里,赛后被所有人锤进土里,这可能是Uzi退役的转折点。那届世界赛RNG败给了自己,IG败给了女团,要不是王校长出面,IG可能是历史最惨的冠军。

Uzi击杀/死亡/KDA曲线图

我们再看Uzi各年击杀/死亡/KDA曲线图,KDA最高,击杀最多。只能说的RNG内战真的强,但是的3.8是什么鬼,在QG到底经历了什么,有知道答案就可以给我们留言哦。

Uzi最喜欢使用的英雄Top10

看到这张图,Uzi比赛最爱用的英雄,EZ男枪领先不意外,毕竟是一代版本一代神。但是VN也能排名靠前,只能说果然是本命英雄,操作真的好。

Uzi使用英雄Top10表现

我们把X锁定,就是英雄锁定,切换到KDA和最高击杀的曲线图,卡莎还是最稳定的,所以在最近的LPL里,卡莎都是非ban必选的英雄,寒冰的KDA和人头差距有点大,证明寒冰果然是真工具人。

Uzi使用Top10英雄补兵/经济表现

最后看到补兵和经济,卡莎再次荣登榜首,还是英雄太适合比赛了,说到补兵,你们应该也忘不了Uzi名场面,为了补兵1打5。

03、微博数据和B站数据

Uzi官宣退役微博数据

我们爬取了小狗的退役微博,做了用户画像:

Uzi微博粉丝性别占比

可以看到男性粉丝占到绝大多数,高达76.61%。女性粉丝为23.39%。

Uzi微博粉丝年龄分布

发现小狗真的是90后的青春,90后粉丝占比最高,达到66.7%。只能长叹到,我们的青春真的结束了!其次是00后,占比20.08%。

Uzi微博评论词云图

词云图也可以看到都是鼓励小狗继续前进的话,但是吧,作为一个签约nike 的选手,退役后应该不会比某某开差的。

Uzi入驻B站 词云数据

我们还做了小狗在B站发的第一条视频评论的词云图:这个视频于6月5日发布到B站,目前这个视频累计播放量达到853.6万,弹幕为4.4万。最高全站日排名第一。

Uzi B站第一条视频评论数据

C君认为亮点还是在于这个二级,在之前采访厂长说:“和Uzi打,二级抓下就完事了。”可能这句话会一直持续到小狗结束直播生涯。

05、用Python爬取Uzi,七年职业生涯数据

我们使用Python获取并分析了score网站、微博和B站相关的数据,进行了分析。此处展示赛事数据分析的代码。

01 数据读入

首先读入分析所用的数据集,包含~UZI赛事整体表现和使用英雄数据,数据预览如下:

# 导入包

import numpy as np

import pandas as pd

# 读入英雄数据

df_hero = pd.DataFrame()

for i in range(7):

df = pd.read_excel(../data/UZI赛事数据.xlsx, sheet_name=i)

df_hero = df_hero.append(df, ignore_index=True)

df_hero.head()

# 读入比赛数据

df_com = pd.read_excel(../data/UZI赛事数据.xlsx, sheet_name=7)

df_com

02 数据清洗

我们对数据进行初步处理,主要包含:

胜负:提取胜场和负场KDA:提取数值# 胜负

df_hero[胜场] = df_hero[胜负].str.extract(W-(\d+)L).astype(int)

df_hero[负场] = df_hero[胜负].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各年度参赛场次及胜负场走势图UZI各年度赛事整体表现UZI最喜欢使用的英雄Top10UZI使用英雄Top10表现UZI使用Top10英雄补兵/经济表现

from pyecharts.charts import Bar, Line, Pie, Pagefrom pyecharts import options as opts

UZI使用英雄数据分析

UZI各年度参赛场次及胜负场走势图

df_com.head()

df_com = df_com.sort_values(年份)

df_com[KDA] = df_com.KDA.str.extract(r(\d+.*\d+))

# 提取数据

x1_line1 = df_com[年份].values.astype(str).tolist()

y1_line1 = df_com[胜场].values.tolist()

y1_line2 = df_com[负场].values.tolist()

y1_line3 = [i*100 for i in df_com[胜率]]

# 条形图

bar1 = Bar()

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=场次, axislabel_opts=opts.LabelOpts(formatter="{value}次"))

)

# 折线图

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

# 条形图

bar1 = Bar()

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=场次, axislabel_opts=opts.LabelOpts(formatter="{value}次"))

)

# 折线图

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

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.年份.astype(str).values.tolist()

y1_line1 = df_com.击杀总数.values.tolist()

y1_line2 = df_com.死亡总数.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(击杀, 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=次数)

)

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.年份.astype(str).values.tolist()

y1_line1 = df_com.击杀总数.values.tolist()

y1_line2 = df_com.死亡总数.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(击杀, 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=次数)

)

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

UZI最喜欢使用的英雄Top10

x1_line1 = df_com.年份.values.astype(str).tolist()

y1_line1 = df_com.胜场.values.tolist()

y1_line2 = df_com.负场.values.tolist()

y1_line3 = [i*100 for i in df_com.胜率]

# 条形图

bar1 = 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=场次, axislabel_opts=opts.LabelOpts(formatter="{value}次"))

)

# 折线图

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(英雄)[场次].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的游戏天赋有目共睹,如同那个反向Q的男人,转战吃鸡居然也拿到世界赛的冠军,但是这些都不是我们普通人练一练就可以达到的。最近大热综艺《老师请回答》中,一个小孩子想去当王者职业选手,被两个王者职业选手教育了就是最好的例子,所以我们还是踏踏实实的干一些自己擅长的事情,把爱好当成爱好,这难道不香么!

CDA数据分析师 出品

作者:泽龙、Mika

数据:真达

后期:泽龙

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。