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.
Sera. Je ne l'utilise que parce que c'est facile.
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.
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! !! !!
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.
Cette fois, c'était juste Pokemon Neta. ** Dramesia ** C'est un peu plus d'un! !!
Recommended Posts