好友
阅读权限25
听众
最后登录1970-1-1
|
厄斐琉斯
发表于 2020-7-27 21:57
本帖最后由 厄斐琉斯 于 2020-7-27 22:02 编辑
lpl夏季赛常规赛阶段已经接近尾声,各大战队也都在争取晋级季后赛的最后机会,作为lpl的观众我也想要为我喜爱的战队进行比赛数据分析。
lpl的比赛数据在各大平台例如企鹅电竞、玩加电竞都可以找得到,我以7月26号晚上ig对阵tes战队第一局比赛为例使用python进行数据分析。
首先我们下载该局比赛的数据,下载方法详见https://www.52pojie.cn/thread-1230901-1-1.html,然后我们用记事本打开,数据如图所示:
从图中我们可以看到比赛数据非常详细,该txt文件有649kb,64w字符之多,人工分析不太现实,现在我们开始借助于python的力量进行数据分析
从图中我们可以看出这个文件是一个字典的形式,因此我们有:
[Python] 纯文本查看 复制代码 fp = open("【2020 LPL 夏季赛——IG VS TES】第1局.txt", 'r+', encoding='utf-8')
dic = eval(fp.readline())[/size]
[size=3]print(len(dict))
运行该段代码输出4,即该字典长度为4,其中前3个内容并没有什么用,我们要的是'data'中的内容,下面我们再来看看'data'中是什么内容,因为'data'的值仍然是一个字典,因此有
[Python] 纯文本查看 复制代码 fp = open("【2020 LPL 夏季赛——IG VS TES】第1局.txt", 'r+', encoding='utf-8')
dic = eval(fp.readline())['data']
for key,value in dic.items():
print(key)
运行该段代码输出结果为
从上图可以看出,data中有这样的13个键,下面我们来依次分析一下这里面都是什么内容。同样的方法首先查看bpLIst中的内容,经检查里面有bans和picks两个字典,以bans为例,运行
[Python] 纯文本查看 复制代码 dic = eval(fp.readline())['data']['bpList']['bans']
print(dict[0])
print(dict[1])
输出结果为
从上图我们可以看出这是双方所ban的英雄,只是英雄和队伍都用编号代替了,通过查询官方的数据便可以还原出汉字来
下面我们再来看一下plList中都是什么数据,运行
[Python] 纯文本查看 复制代码 dic = eval(fp.readline())['data']['plList']
print(dic[0]['1'])
输出结果为
可以看出,这是shy哥使用的铁男的详细数据信息,类似地,该键值对对存储的是10位选手所选英雄的详细数据信息
下面我们来分析teamStatsList里的字段信息
[Python] 纯文本查看 复制代码 dic = eval(fp.readline())['data']['teamStatsList']
for key,value in dic.items():
print(key,value)
输出结果为
kills [23, 14]
golds [64691, 53472]
deaths [14, 23]
assists [54, 33]
towerkills ['9', '2']
dragonkills ['4', '1']
baronkills ['2', '0']
faction {'1': '2', '0': '1'}
由此可知这是两队的击杀数、金钱数、死亡数等信息
下面我们再来看看blue和red中的信息,凭直觉这应该是红色方和蓝色方的信息
[Python] 纯文本查看 复制代码 dic = eval(fp.readline())['data']['blue']
for key,value in dic.items():
print(key,value)
输出结果为
teamid 197
teamalias IG
同样,red字段中为tes战队的信息
接下来是timeline,经过查找这里面的内容是空的,应该是在eventLine中
[Python] 纯文本查看 复制代码 dic = eval(fp.readline())['data']['eventLine']
print(dic[0])
输出结果为
这是比赛的详细事件线,包括每次击杀的时间、选手、位置等信息
今天先写到这吧,内容实在是太多了,有空再更新……
附上本文所用数据txt文件
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|