[PYTHON] J'ai essayé 200 fois l'échange magique [Pokemon Sword Shield]

スクリーンショット 2019-12-10 11.51.21.png

Oui merci. Je suis trop accro au bouclier d'épée Pokemon et mes recherches ne se poursuivent pas. Je m'appelle Dason. Je vous remercie.

D'ailleurs, dans le Département de Phénomène et Mathématiques dont je suis diplômé, il y a "#MS_NCLT", qui est un échange annuel LT entre étudiants (ou plutôt, nous l'avons fait). Donc, j'ai annoncé cette année, mais derrière ça il y avait un bon sujet pour apprendre la tabulation de base de Python, donc je pense que je vais le résumer dans Qiita.

L'histoire technique est ...

Sera. Je ne l'utilise que parce que c'est facile.

Bouclier d'épée Pokemon "échange magique"

Si vous avez joué à Pokémon, vous le connaissez, échange magique. (Jusqu'à récemment, je pensais que c'était un "échange miracle". Arora!)

C'est une fonction qui se connecte au hasard à quelqu'un dans le monde et n'échange des Pokémon avec cette personne qu'une seule fois.

C'est bien et effrayant de ne pas savoir ce qui vient de l'autre partie.

Je l'ai essayé 200 fois

Le Pokémon qui se jette dans l'échange magique Pokémon très inutiles ou Pokémon excédentaires soigneusement sélectionnés pour l'éclosion Sera.

La date de l'expérience est le 30 novembre. Seulement deux semaines se sont écoulées depuis sa sortie C'est une période où les soi-disant «gachis» sont soigneusement sélectionnés pour l'éclosion, et c'est aussi une période où de nombreux bons individus affluent.

En d'autres termes ** Si vous regardez le Pokémon qui se jette dans l'échange magique en ce moment Connaissez-vous le Pokémon fort ou populaire de ce travail? ** ** J'ai pensé.

Donc, 200 fois. Après l'échange, notez le Pokémon qui vous est venu. Lors de la rédaction du résumé de l'article 3 jours avant la date limite et de la rédaction du rapport 5 jours avant la date limite Environ 8 heures. J'ai travaillé dur.

Maintenant, comptons! !! !!

Présentation de Python

J'ai nommé le fichier qui a enregistré 200 échanges NCLT_pokemon.csv. Ici, les Pokémon qui sont venus sous la main dans l'ordre du haut sont répertoriés.

Je vais lire ceci avec python et l'agréger. Tout d'abord, déclarez le package à utiliser.

import numpy as np
import pandas as pd
import collections
import matplotlib.pyplot as plt
%matplotlib inline

Ensuite, chargez csv.

df = pd.read_csv('NCLT_pokemon.csv')

Jetons un coup d'œil au contenu des données.

#Trois sont extraits aléatoirement de la trame de données df.
df.sample(3)
Pokémon
21 Roselia
10 Belobar
89 Un Riki

Comme ça.

Maintenant, comptons combien de fois chaque Pokémon est venu sous la main. Si vous utilisez Counter dans les collections, il comptera en un instant.

c = collections.Counter(np.array(df['Pokémon']))

Ce «c» contient déjà les résultats agrégés. Cependant, il est très difficile de voir tel quel, alors façonnons-le avec des pandas.

#Puisque Counter est un dictionnaire, convertissez-le en DataFrame.
num_poke = pd.DataFrame.from_dict(c, orient='index')
#De plus, spécifiez le nom de la colonne
num_poke.columns = ['Nombre d'apparitions']
#Trier par le nombre d'occurrences.
num_poke_sort = num_poke.sort_values('Nombre d'apparitions', ascending=False)

Ceci termine la mise en forme. Jetons un coup d'œil à Top5!

num_poke_sort.head(5)
Nombre d'apparitions
Dramesia 12
Roi Koi 9
Mimikyu 6
Scorbunny 6
Galal Ponita 5

Donc, le résultat de 200 fois ** Dramesia ** a été numéro un en 12 fois! La nouvelle famille 600 est forte, n'est-ce pas?

Tracons à la fin. Puisque le nom du Pokémon est en japonais, utilisez la bibliothèque japanize-matplotlib qui rend matplotlib compatible avec le japonais. L'installation est

pip install japanize-matplotlib

Vous pouvez le faire à partir de. Maintenant, dessinons.

import matplotlib.pyplot as plt
import japanize_matplotlib

#Spécifiez la taille d'écran de la figure
plt.figure(figsize=(30,5))
#Dessinez un graphique à barres
plt.bar(np.array(num_poke_sort.index), num_poke_sort['Nombre d'apparitions'])
#Faites pivoter l'étiquette sur l'axe horizontal de 70 degrés pour une visualisation facile
plt.xticks(rotation=70)

C'est fait. image.png

Résumé

Cette fois, c'était juste Pokemon Neta. ** Dramesia ** C'est un peu plus d'un! !!

Recommended Posts

J'ai essayé 200 fois l'échange magique [Pokemon Sword Shield]
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé AutoKeras
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
[Bouclier d'épée Pokémon] J'ai essayé de visualiser la base de jugement de l'apprentissage en profondeur en utilisant la classification des trois familles comme exemple
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'exécuter pymc
J'ai essayé le spoofing ARP
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé Python> autopep8
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé PyCaret2.0 (pycaret-nightly)
J'ai essayé d'utiliser openpyxl
J'ai analysé les données de combat de rang du bouclier d'épée Pokemon et je les ai visualisées sur Tableau
J'ai essayé le deep learning
J'ai essayé AWS CDK!
J'ai essayé d'utiliser Ipython
J'ai essayé de déboguer.
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé la mapview de Kivy
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé de déplacer EfficientDet
J'ai essayé la programmation shell
J'ai essayé d'utiliser doctest
J'ai essayé Python> décorateur
J'ai essayé d'exécuter TensorFlow
J'ai essayé Auto Gluon
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé AWS Iot
J'ai essayé l'optimisation bayésienne!
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps