Bonne chance ce soir comment débloquer « le poulet » avec la posture correcte Python

Bonne chance pour ce soir ~ Aujourd'hui poulet jeu de poulet avec quelques amis, a traversé toutes sortes de mourir, se moquaient de 100 sortes de poulet à mourir sur les filles, comme la mort d'un poing brandissant, saut en parachute chute sur le toit bord est tombé à sa mort, en jouant dans le poulet est mort montagnes russes montrent la technologie automobile, étant coéquipiers avec des cocktails Molotov ont brûlé. C'est un jeu pour moi de me faire connaître le jeu, ainsi que de façon originale de mourir. Mais le jeu de go de jeu, ont encore de faire semblant que je suis accro à l'apprentissage, donc aujourd'hui en utilisant jeu de poulet données réelles pour voir comment améliorer vos chances de manger du poulet.

Ensuite, nous faisons l'analyse des données avec l'âme R et Python pour répondre aux questions suivantes?

D'abord, regardez les données:

Où sauter dangereux?

Pour moi, cela a été les joueurs de conscience comme Gou, après de nombreux atterrissage dans la rivière douloureuse expérience, je résolus de ne pas choisir de sauter ce bâtiment dense P ville urbaine, appartenant à appauvrir les pauvres, mais les questions d'assurance-vie. Donc, à la fin nous avons décidé de regarder les statistiques qui place plus susceptibles de tomber dans la rivière? Nous sélectionnons pour l'analyse visuelle des anciens joueurs placent 100 secondes de la mort. Carte des plantes Passion du désert, Picado, villas, le plus dangereux, gare relativement sûr de Ybor City, les centrales thermiques. P île Jedi dans la ville, les bases militaires, les écoles, les hôpitaux, les centrales nucléaires, abri antiaérien sont zone de danger absolu. matériau riche en G est en fait le port relativement sûr.

 1import numpy comme np

 2import matplotlib.pyplot comme plt

 pandas géants de 3import comme pd

 Seaborn de 4import comme sns

 Le imread d'importation 5from

 matplotlib.cm de 6import en cm

 7

 Les données conduisent en partie 8 #

 9deaths1 = pd.read_csv ( "décès / kill_match_stats_final_0.csv")

10deaths2 = pd.read_csv ( "décès / kill_match_stats_final_1.csv")

11

12deaths = pd.concat ( )

13

14 # 5 avant l'impression, la variable comprendre

15print (deaths.head (), '\ n', len (décès))

16

Deux carte # 17

18miramar = décès

19erangel = décès

20

21 # 100 secondes avant le début de la heatmap de mort

22position_data =

23Aux position dans position_data:

24 miramar  = Miramar .Appliquer (lambda x: x * 1000/800000)

25 = miramar miramar

26

27 erangel  = Erangel .Appliquer (lambda x: x * 4096/800000)

28 erangel = erangel

29

30n = 50000

31mira_sample = miramar .sample (n)

32eran_sample = erangel .sample (n)

33

thermodynamique figure 34 # miramar

35bg = imread ( "miramar.jpg")

36fig, Ax = plt.subplots (1,1, figsize = (15,15))

37ax.imshow (bg)

38sns.kdeplot (mira_sample , mira_sample , n_levels = 100, cmap = cm.Reds, alpha = 0,9)

39

40 # erangel heatmap

41bg = imread ( "erangel.jpg")

42fig, Ax = plt.subplots (1,1, figsize = (15,15))

43ax.imshow (bg)

44sns.kdeplot (eran_sample , eran_sample , n_levels = 100, cmap = cm.Reds, alpha = 0,9)

Gou avant ou sécher?

Je vais encore sortir et Gou à la fin est l'ennemi imprudemment dans la pièce? Parce que la taille du jeu ici est pas la même chose, ici sélectionner le nombre de participants est supérieur à 90, les données de jeu, puis filtrer le poulet team_placement d'équipe et le succès final des données de l'équipe:

1, la première équipe à calculer le nombre moyen de poulet pour tuer l'ennemi, ici exclut les quatre modes de données de jeu, car le nombre de trop grande disparité entre l'équipe moyenne en raison du nombre devient vide de sens;

2, nous considérons le dernier membre survivant d'un certain nombre d'ennemis à tuer chaque groupe par le poulet statistique du groupe, mais ici trouvé variable de temps de survie statistique est le temps de survie ultime conformément au dossier de l'équipe, de sorte que l'idée de l'échec;

3, les statistiques finales pour chaque équipe dans le poulet tuer le plus grand nombre de nombre de statistiques, à l'exclusion des données ici seul mode de joueur, car le nombre de mode solo est de tuer le plus grand nombre dans chaque groupe. Et enfin effectivement constaté qu'il ya nombre de kills jusqu'à 60, il y a doute si bée. Poulet ou si vous voulez aller à l'adresse au tir pratique, avec juste Gou ne suffit pas.

 1Bibliothèque (dplyr)

 2library (tidyverse)

 3library (data.table)

 4library (ggplot2)

 5pubg_full < - fread ( "../ agg_match_stats.csv")

 6 # nombre d'ennemis à tuer moyenne de l'équipe de poulet

 7attach (pubg_full)

 8pubg_winner < - pubg_full% > % Filtre (team_placement == 1 & party_size < 4 & game_size > 90)

 9detach (pubg_full)

10team_killed < - total (pubg_winner player_kills de $, par = liste (pubg_winner $ match_id, pubg_winner $ team_id), FUN = "moyenne")

11team_killed $ death_num < - plafond (team_killed $ x)

12ggplot (données = team_killed) + geom_bar (mapping = aes (x = death_num, y = ..count ..), color = "steelblue") +

13 XLIM (0,70) + laboratoires (title = "Nombre de mort que l'équipe PUBG Winner Killed", x = "Nombre de mort")

14

# 15 dernière équipe poulet survivant tuer le nombre de joueurs

16pubg_winner < - pubg_full% > % Filtre (pubg_full $ team_placement == 1)% > % Group_by (match_id, team_id)

17attach (pubg_winner)

18team_leader < - agrégat (player_survive_time ~ player_kills, data = pubg_winner, FUN = "max")

19detach (pubg_winner)

20

# 21 équipe de poulet tuer le plus grand nombre d'ennemis

22pubg_winner < - pubg_full% > % Filtre (pubg_full $ team_placement == 1 & pubg_full $ party_size > 1)

23attach (pubg_winner)

24team_leader < - agrégat (player_kills, par = list (match_id, team_id), FUN = "max")

25detach (pubg_winner)

26ggplot (données = team_leader) + geom_bar (mapping = aes (x = x, y = ..count ..), color = "steelblue") +

27 XLIM (0,70) + laboratoires (title = "Nombre de décès qui PUBG Vainqueur Killed", x = "Nombre de mort")

28

Quel genre d'arme pour tuer plus de joueurs?

Bonne chance de choisir une bonne arme lorsque vous hésitiez à choisir lequel? Du point de vue de la carte, M416 et SCAR est une bonne arme, mais peut aussi relativement facile ramasser des armes, nous avons reconnu Kar98k est un bon fusil peut être Abattu, parce que le classement par comparaison, c'est parce que cette arme dans le jeu relativement rare mais il a aussi besoin de frapper la force de l'ennemi, comme est venu me chercher 98k aussi équipé du miroir 8 fois, mais ne couvrent pas les joueurs se réchauffent à une minute ne mérite pas.

 Classé n ° 1 arme assassiner

 2death_causes = décès . Value_counts ()

 3

 4sns.set_context ( 'parler')

 5fig = plt.figure (figsize = (30, 10))

 6ax = sns.barplot (x = death_causes.index, y = )

 7ax.set_title ( 'Taux de décès Causes')

 8ax.set_xticklabels (death_causes.index, rotation = 90)

 9

Top 10 des armes classées # 20

11rank = 20

12fig = plt.figure (figsize = (20, 10))

13ax = sns.barplot (x = death_causes rang .Index, y = )

14ax.set_title ( 'Taux de décès Causes')

15ax.set_xticklabels (death_causes.index, rotation = 90)

16

Carte n ° 17 pour prendre deux séparés

18f, axes = plt.subplots (1, 2, figsize = (30, 10))

19axes .set_title ( 'Causes Taux de mortalité: Erangel (Top {}). Format (grade))

20axes .set_title ( 'Mort Causes Taux: Miramar (Top {}). Format (grade))

21

22counts_er = erangel . Value_counts ()

23counts_mr = miramar . Value_counts ()

24

25sns.barplot (x = counts_er .Index, y = , hache = axes )

26sns.barplot (x = counts_mr .Index, y = , hache = axes )

27axes .set_ylim ((0, 0,20))

28axes .set_xticklabels (counts_er.index, rotation = 90)

29axes .set_ylim ((0, 0,20))

30axes .set_xticklabels (counts_mr.index, rotation = 90)

31

# 32 relations poulet et armes

33win = décès

34win_causes = gagner . Value_counts ()

35

36sns.set_context ( 'parler')

37fig = plt.figure (figsize = (20, 10))

38ax = sns.barplot (x = win_causes .index, y = )

39ax.set_title ( «Taux de décès Causes de Win)

40ax.set_xticklabels (win_causes.index, rotation = 90)

coéquipiers si je aider à manger du poulet?

Parfois, un inattentif renversé, mais heureusement, je suis monté rapidement à ses coéquipiers pour me sauver. Ici choisir les équipes qui réussissent de poulet, les membres de l'équipe ont finalement accepté la probabilité 1 personne a trouvé où le poulet est de 29%, de sorte que passes pour ses coéquipiers est très important (et ne me appelez pas un coéquipiers de porc, et je peux choisir de ne pas vous faire économiser .) Mais il y a encore neuf fois pour sauver les coéquipiers, vous êtes aussi un talent.

 1Bibliothèque (dplyr)

 2library (tidyverse)

 3library (data.table)

 4library (ggplot2)

 5pubg_full < - fread ( "E: /aggregate/agg_match_stats_0.csv")

 6attach (pubg_full)

 7pubg_winner < - pubg_full% > % Filtre (team_placement == 1)

 8detach (pubg_full)

 9ggplot (données = pubg_winner) + geom_bar (mapping = aes (x = player_assists, y = ..count ..), fill = "# E69F00") +

10 XLIM (0,10) + (laboratoires title = "Nombre de joueur assisté", x = "Nombre de mort")

11ggplot (données = pubg_winner) + geom_bar (mapping = aes (x = player_assists, y = ..prop ..), fill = "# 56B4E9") +

12 XLIM (0,10) + (laboratoires title = "Nombre de joueur assisté", x = "Nombre de mort")

De mes ennemis plus le plus dangereux?

Killer_position des variables de données et calcul de victim_position distance euclidienne, voir la distance en ligne droite entre les deux avec la distribution d'un accidenté, montrant une évidente distribution asymétrique vers la droite, il semble, le besoin d'observer toujours l'ennemi à proximité, afin de ne pas éliminer tous Je ne sais pas où l'ennemi.

 1 # code python pour: assassiner et de la relation à distance

 mathématiques 2import

 3DEF get_dist (df): fonction # distance

 4 dist =

 5 pour la ligne en df.itertuples ():

 6 = sous-ensemble (row.killer_position_x - row.victim_position_x) ** 2 + (row.killer_position_y - row.victim_position_y) ** 2

 7 si sous-ensemble >  0:

 8 dist.append (Math.sqrt (sous-ensemble) / 100)

 9 autres:

10 dist.append (0)

11 retour dist

12

13df_dist = pd.DataFrame.from_dict ({ 'dist (m)': get_dist (erangel)})

14df_dist.index = erangel.index

15

16erangel_dist = pd.concat ( , Axis = 1)

17

18df_dist = pd.DataFrame.from_dict ({ 'dist (m)': get_dist (miramar)})

19df_dist.index = miramar.index

20

21miramar_dist = pd.concat ( , Axis = 1)

22

23f, axes = plt.subplots (1, 2, figsize = (30, 10))

24plot_dist = 150

25

26axes .set_title ( 'engagement Dist :. Erangel')

27axes .set_title ( 'engagement Dist. Miramar')

28

29plot_dist_er = erangel_dist

30plot_dist_mr = miramar_dist

31

32sns.distplot (plot_dist_er , ax = axes )

33sns.distplot (plot_dist_mr , ax = axes )

Plus les gens de l'équipe je vivre plus longtemps?

Party_size données variables dans l'analyse de survie, on peut voir dans le même taux de survie, quatre fois plus élevé que l'équipe de survie des deux équipes, puis le mode solo, donc la force en nombre cette phrase n'est pas déraisonnable.

Que vous voyagiez à vivre plus longtemps?

Cause de l'analyse de la mort a constaté qu'il ya beaucoup de joueurs sont morts Bluezone, naïf de penser que tout le monde sera en mesure de ramasser des bandages a couru poison. données variables Player_dist_ride dans l'analyse de la survie, on peut voir dans le même taux de survie, il y a des joueurs expérimentés ont conduit le temps de survie que les joueurs seulement de marche, vous utilisez les jambes seul, mais toxiques.

Plus îles Master I vivent plus longtemps?

variables Game_size pour l'analyse de la survie ou le petit gibier trouvé plus facile de survivre.

 1 # codes du langage R sont les suivants:

 2library (magrittr)

 3library (dplyr)

 4library (survie)

 5library (tidyverse)

 6library (data.table)

 7library (ggplot2)

 8library (survminer)

 9pubg_full < - fread ( "../ agg_match_stats.csv")

Les données prétraiter # 10, désignés comme les variables de classification variable continue

11pubg_sub < - pubg_full% > %

12 filtre (player_survive_time < 2100)% > %

13 muter (moteur = ifelse (player_dist_ride > 0, 1, 0))% > %

14 muter (taille = ifelse (game_size < 33, 1, ifelse (game_size > = 33 & game_size < 66,2,3)))

# 15 Créer une cible de survie

16surv_object < - Levé (temps = pubg_sub $ player_survive_time)

17fit1 < - survfit (~ surv_object party_size, data = pubg_sub)

survie Visualisation # 18

19ggsurvplot (FIT1, data = pubg_sub, pval = TRUE, xlab = « Temps de lecture "Surv.median.line =" hv »,

20 legend.labs = c ( "SOLO", "DUO", "EFFECTIF"), ggtheme = theme_light (), risk.table = "pourcentage")

21fit2 < - survfit (~ surv_object lecteur, data = pubg_sub)

22ggsurvplot (FIT2, data = pubg_sub, pval = TRUE, xlab = « Temps de lecture "Surv.median.line =" hv »,

23 legend.labs = c ( "marche", "marche et entraînement"), ggtheme = theme_light (), risk.table = "pourcentage")

24fit3 < - survfit (~ surv_object taille, data = pubg_sub)

25ggsurvplot (Flt3, data = pubg_sub, pval = TRUE, xlab = « Temps de lecture "Surv.median.line =" hv »,

26 legend.labs = c ( "petit", "moyen", "grand"), ggtheme = theme_light (), risk.table = "pourcentage")

Enfin, il y a des endroits anneau de poison qui pourrait survenir?

Gou d'avoir la capacité d'être en mesure de faire face à mon dernier, comment prédire la bague finale du médicament dans quelle position. données Agg_match_stats de la table pour trouver le numéro d'une équipe, puis suivez les groupes match_id pour connaître la valeur maximale de player_survive_time de l'intérieur de paquets de données, puis en conséquence pour correspondre à la table kill_match_stats_final dans les données, les données contenues dans la seconde mort doit avoir lieu, la cartographie passion trouvé anneau poison du désert beaucoup plus concentré une grande probabilité Picado, San Martin et jardin. île Jedi est plus aléatoire, mais encore être en mesure de voir la base militaire locale et les montagnes sont plus susceptibles d'être le dernier anneau de la drogue.

 # 1 dernière position anneau de médicament

 2import matplotlib.pyplot comme plt

 pandas géants de 3import comme pd

 Seaborn de 4import comme sns

 Le imread d'importation 5from

 matplotlib.cm de 6import en cm

 7

 Les données conduisent en partie 8 #

 9deaths = pd.read_csv ( "décès / kill_match_stats_final_0.csv")

Importer des données agrégées 10 #

11aggregate = pd.read_csv ( "agrégat / agg_match_stats_0.csv")

12print (aggregate.head ())

# 13 pour trouver l'emplacement des trois derniers décès

14

15team_win = agrégat # top équipe classée

16 # pour savoir tous les matchs la première équipe à vivre plus longtemps que le joueur

. 17grouped = team_win.groupby ( 'match_id') appliquer (lambda t: t )

18

19deaths_solo = décès

20deaths_solo_er = deaths_solo

21deaths_solo_mr = deaths_solo

22

23df_second_er = deaths_solo_er == 2)>. Dropna ()

24df_second_mr = deaths_solo_mr == 2)>. Dropna ()

25print (df_second_er)

26

27position_data =

28Pour position dans position_data:

29 df_second_mr  = Df_second_mr .Appliquer (lambda x: x * 1000/800000)

30 df_second_mr = df_second_mr

31

32 df_second_er  = Df_second_er .Appliquer (lambda x: x * 4096/800000)

33 df_second_er = df_second_er

34

35df_second_er = df_second_er

Figure 36 # erangel thermodynamique

37sns.set_context ( 'parler')

38bg = imread ( "erangel.jpg")

39fig, Ax = plt.subplots (1,1, figsize = (15,15))

40ax.imshow (bg)

41sns.kdeplot (df_second_er , df_second_er , cmap = cm.Blues, alpha = 0,7, ombre = Vrai)

42

43 # miramar heatmap

44bg = imread ( "miramar.jpg")

45fig, Ax = plt.subplots (1,1, figsize = (15,15))

46ax.imshow (bg)

47sns.kdeplot (df_second_mr , df_second_mr , cmap = cm.Blues, alpha = 0,8, ombre = Vrai)

Obtenir l'adresse de données: https: //www.kaggle.com/skihikingkevin/pubg-match-deaths#aggregate.zip.

Cet article a passé beaucoup d'efforts, pouces vers le haut, l'approbation et le soutien sont transmis à l'auteur.

Enfin, je vous souhaite à tous:

Avertissement: Cet article est administré par une personne autorisée à apprendre transférée de l'analyse des données, les auteurs: sauce à la carotte.

« amis » Appel à communications

RPSC n ° respecter le concept du public « et dix millions de personnes la croissance totale de la technologie, » non seulement aux « geeks gros titres », colonne « Chatteris » pour la première fois une description technique unique point de vue de la personne qui se soucie industrie de la technologie, la mise au point de l'événement, plus « titres techniques » colonne, et la scène dans la profondeur de l'application de l'industrie de la technologie chaude d'interprétation, de sorte que tous les développeurs de suivre les tendances technologiques, demeurent sens vigilant de la technologie de l'odorat, les tendances de l'industrie, la technologie est la connaissance plus complète.

Si vous avez de nouvelles idées dans des articles de haute qualité ou des événements de l'industrie chaud, les tendances technologiques idées ou application pratique de la profondeur des programmes de scène, veuillez contacter la soumission RPSC, Contact: lettre Micro (de guorui_1118, s'il vous plaît noter le nom + contribution + emplois des entreprises), boîte aux lettres (guorui@csdn.net).

Meizhou quatre ans, le meilleur camp d'entraînement de l'équipe, la première équipe nationale du campus de branche dans le militaire bientôt
Précédent
20 ans de sensations Audi TT lancement voiture 20 modèles d'anniversaire
Prochain
Google entreprises récemment acquises se réunissent d'Apple Amazon, sera le prochain est que vous?
Bao Wo photos espion lifting lifting Bx7 Dangba électronique / automne 2019 officiellement répertoriés
comptage haute vitesse Fête du Printemps exactement comment? Je ne sais pas ou si vous voulez donner de l'argent!
Pékin « trois sources dans le » marché aux légumes: l'accent sur le marché des légumes sur le développement du réseau de magasins rouge avec le monde
exposition métallique intérieur moderne Jieen Si GV80 avec le rouleau tactile / apparition de la seconde moitié 2019
ère d'imposition unique arrive, vous n'avez pas Python utile pour vous aider à trouver une petite amie?
serveur secret de Facebook, en fait caché des racines militaires de l'Internet?
Liu Qiang Est, et chacun d'entre vous!
Morning Post : Où va Arnautovic ?
Six ligue droite! Bayern 3-1 victoires clients Hoffenheim, Push magnétique
Geely occasion MPV Ka du chiffre officiel Intérieur a publié: Les trois disposition des sièges, trois types de puissance
tarif voiture nounou haut de gamme, nous devons attendre? En plus de ces derniers il est possible de sélectionner Alpha