Python | 英雄联盟游戏数据分析

一、项目背景

EDG夺得2021英雄联盟全球总决赛冠军,这场比赛让所有观赛者热血沸腾,也唤起了我这个沉睡多年老玩家对MOBA游戏的兴趣,兴冲冲地下载了英雄联盟,却发现这并不是一个可以轻松上手的游戏。
对于时下最流行的MOBA类游戏——英雄联盟,作为一个新手可以从哪些方面切入,通过数据分析了解游戏机制并快速上手,降低新人过渡期的难度,是该项目的中心主题。

二、数据预处理

1.数据来源

数据源:League of Legends Ranked Matches

2.理解数据

数据集包含英雄联盟的18万场对局数据,数据表包括:
champs.csv :包含英雄名称和英雄id
matches.csv : 包含比赛信息
participants : 每场比赛的玩家信息
stats1.csv & stats2.csv : 对战数据
teambans : 队伍ban选数据
teamstats : 队伍总数据

3.数据清洗

1.导入数据
导入所有数据表

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

champs=pd.read_csv("champs.csv")
matches=pd.read_csv("matches.csv")
participants=pd.read_csv("participants.csv")
stats1=pd.read_csv("stats1.csv")
stats2=pd.read_csv("stats2.csv")
teambans=pd.read_csv("teambans.csv")
teamstats=pd.read_csv("teamstats.csv")

展示champs表:

champs.head()

在这里插入图片描述
展示matches表:

matches.head()

在这里插入图片描述
展示participants表:

participants.head()

在这里插入图片描述
展示stats1& stats2表,由于列数过多,仅能展示部分:

stats1_shape = stats1.shape
print(stats1_shape)
#(999999, 56)

在这里插入图片描述
展示teambans表:

teambans.head()

在这里插入图片描述
展示teamstats表:

teamstats.head()

在这里插入图片描述

2.查找缺失值
计算各表缺失值总和,若缺失值过多再逐列处理

champs_null = sum(champs.isnull().sum())
print(champs_null)
#0

各表缺失值均为0,说明数据集完整

3.合并数据表

stats = stats1.append(stats2)
df = pd.merge(participants, stats, how= 'left', on= ['id'])
df = pd.merge(df, champs, how= 'left', left_on= 'championid', right_on= 'id')
df = pd.merge(df, matches, how= 'left', left_on= 'matchid', right_on= 'id'
  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值