人気ゲームPUPGのキル分析。seaborn-pairplotを使用。
世界中の方々が熱中している、PUPGの世界。
やはり、強い武器などって気になったり。
ということでcsvファイルを読み込んで30行ほどのコードを書きpairplotで
ビジュアル化してみました。
成り行き
最近seabornのpairplotを触ってみて面白いと感じどうにかアイリスやタイタニックなどのベタなデータ以外で試せないかと思い、試した次第です。したがって、プロットに用いるデータや仕方がおかしい可能性があります。もしなんだこれという場合は是非アドバイスを頂けると幸いです。
csvの参照先→
https://www.kaggle.com/skihikingkevin/pubg-match-deaths?
kaggleです。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
df = pd.read_csv("csvまでのパス")
#数値データでなくてはプロットできない。
show_df = df.drop(['victim_position_x','victim_position_y','victim_placement','killer_placement','killer_name'],axis=1)
#欠陥値の補足
show_df['kill_position_x'] = show_df['killer_position_x'].fillna(show_df['killer_position_x'].mean())
show_df['kill_position_y'] = show_df['killer_position_y'].fillna(show_df['killer_position_y'].mean())
#欠陥値の削除
show_df = show_df.drop(['killer_position_x','killer_position_y'],axis=1)
print(show_df.isna().all(axis=0))
#銃を数字にて識別できるように変換。
show_df['gan_type'] = show_df['killed_by'].replace({'Punch':0,'Deagle':1,'P1911':2,'R45':3,'R1895':4,'P18C':5,'P92':6,\
'Skorpion':7,'S12K':8,'S1897':9,'S686':10,'DBS':11,'Tommy Gun':12,\
'Vector':13,'Micro UZI':14,'MP5K':15,'PP-19 Bizon':16,'UMP45':17,\
'AUG':18,'G36C':19,'M16A4':20,'M416':21,'M762':22,'Mk47 Mutant':23,\
'QBZ':24,'SCAR-L':25,'AKM':26,'GROZA':27,'M249':28,'DP-28':29,\
'AWM':30,'Win94':31,'Kar98k':32,'M24':33,'mini14':34,'QBU':35,'Mk14':36,'SKS':37,\
'SLR':38,'VSS':39,'Bluezone':40,'Down and Out':41,'Falling':42,'Grenade':43,'Hit by Car':44,'death.WeapSawnoff_C':45,'Mini 14':46,\
'UMP9':47,'Machete':48,'Sickle':49,'Groza':50,'Crossbow':51,'Drown':52,'Uaz':53,'Pan':54,'RedZone':55,'Motorbike':56,'Buggy':57,\
'death.ProjMolotov_DamageField_C':58,'Dacia':59,'Motorbike (SideCar)':60,'death.Buff_FireDOT_C':61,'Crowbar':62,'Van':63,'Pickup Truck':64,\
'Aquarail':65,'Boat':66,'death.ProjMolotov_C':67,'death.PG117_A_01_C':68,'death.RedZoneBomb_C':69,'death.PlayerMale_A_C':70}).astype(int)
two = print(show_df.head(10))
w = sns.pairplot(show_df[0:101],hue='killed_by')
w.savefig('PUPG.png')
plt.show()
time→キルされた時間?単位秒 最大
killed_by→こちらは下のgan_typeと似ているのですが、hueの引数として指定しています。
gan_type→直訳で銃のタイプですが、死因に起因するものをまとめました。
最初はpupgの武器に関する情報をスクレイピングし辞書に渡そうと考えていましたが、欲しい情報がいろいろなタグに格納(a,b,strong)されていて全てをとるように実装したところ300行のコードになってしまったことや他の銃に付属するアイテムまでスクレイピングしてしまったため、今回は諦めて手打ちにしましたがなかなか時間がかかりました。。。
例:車で引かれた。自転車に轢かれた。パンチで殺された。など
kill_position→キルされた座標?
データを見てわかったこと????
1、timeを見て0から開始されて2000秒(ドン勝者が出るまでの時間)までの間でM416という銃が多くキルされるにあたり使用された
2、1と少し被りますが、そこからM416という銃を使って上位に食い込んでいる人が多いのでは?
3、x座標とy座標の関係からx座標約400000~500000、y座標約300000で多く死亡していることがわかる。
Author And Source
この問題について(人気ゲームPUPGのキル分析。seaborn-pairplotを使用。), 我々は、より多くの情報をここで見つけました https://qiita.com/jury/items/2b2c1c1eba91d5680a03著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .