用python對英雄聯盟選用英雄進行分析
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
相關文章
- 用Python爬取英雄聯盟(lol)全部皮膚Python
- Python3爬取英雄聯盟英雄皮膚大圖Python
- Flutter之英雄聯盟Flutter
- 英雄聯盟(洛谷)
- 《英雄聯盟》手遊UI設計分析UI
- python對英雄皮膚進行圖片採集~Python
- 《英雄聯盟》系列IP開發負責人:我們是如何打造《英雄聯盟》IP宇宙的?
- 英雄聯盟手遊奧拉夫打野怎麼玩 英雄聯盟手遊打野奧拉夫玩法攻略
- 風暴英雄-神鑄裝備VS英雄聯盟-神話裝備
- 《英雄聯盟》VFX視覺風格指南視覺
- 也聊兩句英雄聯盟自走棋
- 《英雄聯盟手遊》動效簡析
- 英雄聯盟的祕密:140個英雄如何改,Riot大資料理論大資料
- win10英雄聯盟裝不了怎麼辦 win10英雄聯盟無法安裝處理方法Win10
- 英雄聯盟LOL剋制德萊厄斯的英雄和剋制方法解析
- 《英雄聯盟》全球日活躍八百萬
- 《英雄聯盟》正版手遊預約開啟
- 【賽事回放】英雄聯盟API資料介面API
- Moba秀--DOTA,LOL,英雄聯盟編年史
- 英雄聯盟十週年,拳頭遊戲公佈3款新遊 《英雄聯盟》手遊2020年上線遊戲
- 用Python爬取"王者農藥"英雄皮膚Python
- win10玩英雄聯盟總卡屏怎麼辦_win10玩英雄聯盟總卡屏如何解決Win10
- win10英雄聯盟打字卡怎麼辦 win10玩英雄聯盟打字就卡當機解決方法Win10
- 《英雄聯盟手遊》iOS版本開放預約iOS
- 路透社:《英雄聯盟》手遊研發中
- 英雄聯盟勝負預測--簡易肯德基上校
- 站在第三視角看直播簡史-《英雄聯盟》直播進化論
- w10系統英雄聯盟閃屏怎麼解決_win10英雄聯盟全屏模式閃屏修復方法Win10模式
- win10英雄聯盟出現directx怎麼辦 win10玩英雄聯盟顯示directx錯誤修復方法Win10
- win10 64位無法啟動英雄聯盟如何解決_win10英雄聯盟打不開修復方法Win10
- Python獲取英雄聯盟皮膚原畫:新手玩家們都懵了!Python
- win10 1909無法安裝英雄聯盟怎麼處理_win10英雄聯盟安裝不瞭解決方法Win10
- 《英雄聯盟》Riot總部超過150名員工舉行罷工
- 《英雄聯盟》高校聯賽故事:三個人的平行交叉人生
- win10系統英雄聯盟進不了提示omething broke的解決方法Win10
- 英雄聯盟wegame版什麼意思 wegame的lol和直接進入區別GAM
- 《英雄聯盟》手遊試玩:具備操作空間
- 《英雄聯盟》手遊海外測試首日果然炸服了