還不會選英雄陣容?python來幫你carry全場
“歡迎來到召喚術峽谷~”
英雄聯盟作為一款長青遊戲,風靡了這麼多年,2018全球總決賽的IG冠軍一出更是引發了眾多擼迷又將遊戲重新拾起。
今天我們就來分析一下戰隊的陣容選擇會對勝率帶來什麼樣的影響。
1。載入必要的包
import pandas as pd
import matplotlib。pyplot as plt
import seaborn as sns
from pyecharts import Radar
2。讀取並觀察資料情況
dat_hero=pd。read_csv(‘TeamHero_index。csv’)
dat_hero。head()
3。資料分析
(1)紅藍方因素對勝負的影響
眾所周知,在英雄聯盟中,由於藍方會先手ban英雄及pick英雄,因此通常藍方的勝率更高一些。讓我們來看看資料是否能夠印證這一點。
取出紅方獲勝的資料:
red_win1=dat_hero[dat_hero[‘是否紅方’]。isin([‘1’])]
red_win1=red_win1[red_win1[‘是否獲勝’]。isin([‘1’])]
red_win2=dat_hero[dat_hero[‘是否紅方’]。isin([‘0’])]
red_win2=red_win2[red_win2[‘是否獲勝’]。isin([‘0’])]
red_win=pd。concat([red_win1,red_win2])
red_win。shape
(208,8)
取出藍方獲勝的資料
blue_win1=dat_hero[dat_hero[‘是否紅方’]。isin([‘1’])]
blue_win1=blue_win1[blue_win1[‘是否獲勝’]。isin([‘0’])]
blue_win2=dat_hero[dat_hero[‘是否紅方’]。isin([‘0’])]
blue_win2=blue_win2[blue_win2[‘是否獲勝’]。isin([‘1’])]
blue_win=pd。concat([blue_win1,blue_win2])
blue_win。shape
(316,8)
畫出紅藍方勝場直方圖
由上面的資料和圖可以看到,藍方有316勝場,紅方僅有208勝場。可以印證藍有相對而言更有優勢。
下面我們再對紅藍方所選用的英雄屬性進行分析。
計算紅方獲勝時英雄平均屬性:
value1=[[red_win[‘攻擊’]。mean(),red_win[‘法術’]。mean(),red_win[‘防禦’]。mean(),red_win[‘團戰’]。mean(),red_win[‘機動’]。mean()]]
計算藍方獲勝時英雄平均屬性:
value2=[[blue_win[‘攻擊’]。mean(),blue_win[‘法術’]。mean(),blue_win[‘防禦’]。mean(),blue_win[‘團戰’]。mean(),bluewin[‘機動’]。mean()]]
from pyecharts import Radar
radar = Radar()
#用於調整雷達各維度的範圍大小
c_schema= [{“name”: “攻擊”, “max”: 54。3, “min”: 54。1},
{“name”: “法術”, “max”: 52, “min”: 51},
{“name”: “防禦”, “max”: 54, “min”: 52},
{“name”: “團戰”, “max”: 73。2, “min”: 71},
{“name”: “機動”, “max”: 66, “min”: 65}]
radar。config(c_schema=c_schema)
radar。add(“紅方獲勝”, value1,item_color=“#f9713c”,area_color=‘#ea3a2e’,area_opacity=0。3)
radar。add(“藍方獲勝”, value2,item_color=‘#2525f5’,area_color=‘#2525f5’,area_opacity=0。3)
radar
從圖中可以看到,作為紅方,想要勝利攻擊力、法術強度、防禦性能都要比在藍方時強一些,團戰能力更是達到頂峰,而作為藍色方來說,均衡發展就可以贏得勝利,團戰能力也不需要特別強。
(2) 各個戰隊戰績分析
plt。figure(figsize=(15,7))
plt。xlabel(‘戰隊’,fontsize=30,fontproperties=myfont)
plt。ylabel(‘次數’,fontsize=30,fontproperties=myfont)
sns。countplot(x=‘戰隊’,hue=‘是否獲勝’,data=dat_hero,palette=sns。color_palette(‘hls’,7))
從圖中可以看出,
勝場比負場多的戰隊分別有EDG, IG, RNG, WE, NB,OMG這六支戰隊。
勝場最多的依次是 IG, RNG, WE這三支戰隊。
我們對這三支戰隊所選用英雄屬性進行分析。
#計算EDG戰隊所選用英雄的平均屬性
EDG=dat_hero[dat_hero[‘戰隊’]。isin([‘EDG’])]
edg_value=[[EDG[‘攻擊’]。mean(),EDG[‘法術’]。mean(),EDG[‘防禦’]。mean(),EDG[‘團戰’]。mean(),EDG[‘機動’]。mean()]]
#計算RNG戰隊所選用英雄的平均屬性
RNG=dat_hero[dat_hero[‘戰隊’]。isin([‘RNG’])]
rng_value=[[RNG[‘攻擊’]。mean(),RNG[‘法術’]。mean(),RNG[‘防禦’]。mean(),RNG[‘團戰’]。mean(),RNG[‘機動’]。mean()]]
#計算WE戰隊所選用英雄的平均屬性
WE=dat_hero[dat_hero[‘戰隊’]。isin([‘WE’])]
we_value=[[WE[‘攻擊’]。mean(),WE[‘法術’]。mean(),WE[‘防禦’]。mean(),WE[‘團戰’]。mean(),WE[‘機動’]。mean()]]
radar1 = Radar()
#用於調整雷達各維度的範圍大小
c_schema= [{“name”: “攻擊”, “max”: 55, “min”: 53},
{“name”: “法術”, “max”: 52。5, “min”: 50},
{“name”: “防禦”, “max”: 55, “min”: 52},
{“name”: “團戰”, “max”: 76, “min”: 72},
{“name”: “機動”, “max”: 68, “min”: 64}]
radar1。config(c_schema=c_schema)
radar1。add(“EDG”, edg_value,item_color=“#f9713c”,line_width=3)
radar1。add(“RNG”, rng_value,item_color=‘#2525f5’,line_width=3)
radar1。add(“WE”, we_value,item_color=‘#000’,line_width=3)
radar1
從上圖可以看出,每支隊伍在選用英雄時都有自己的特點。
EDG更愛攻擊性的陣容,RNG法術、防禦做的不錯,WE則更偏向團戰和機動性。
所以說,沒有絕對的陣容,只要隊友不坑、猥瑣別浪,遊戲還是能贏得。
看了分析,趕快去召喚師峽谷戰鬥吧!
在公眾號“DC學習助手”後臺回覆“LOL”即可領取資料噢~