Ich wollte ein Pokemon finden, das den Trickraum in einem Pokemon-Match nutzen kann, aber ich habe mich gefragt, welches Pokemon ich verwenden soll. Als ich den Trickraum benutzte, dachte ich zunächst, dass ein Pokémon, das dem Angriff des Gegners standhalten könnte, gut wäre, weil es ein Anhänger wäre. Deshalb wollte ich ein Pokémon mit einem niedrigen Rassenwert und hoher Verteidigung und Spezialverteidigung finden. .. So kam ich auf die Idee, die Suche nach CSV-Daten mit der Programmiersprache Python einzugrenzen.
· Installieren Sie Excel oder Numbers ・ Installation von Anaconda -Installation von Python und Pandas
① Laden Sie eine CSV-Datei herunter und erstellen Sie sie Die CSV-Datei mit dem Rennwert von Pokemon kann von der folgenden URL heruntergeladen werden. https://www.kaggle.com/abcsds/pokemon Diese CSV-Datei enthält keine Daten für Pokemon der Generation 7-8. Da es in Englisch geschrieben ist, ist der Name Pokemon auch ein englischer Name, so dass es möglicherweise etwas schwierig ist, damit umzugehen.
Das Pokemon der 8. Generation (Pokemon, das im Schwertschild erschien) brauchte einige Zeit, um die Daten von der folgenden URL zu kopieren, aber ich habe die Tabelle in Excel angeordnet und daraus eine CSV-Datei gemacht. https://wiki.ポケモン.com/wiki/種族値一覧_(第八世代)
② Grenzen Sie den Rennwert mit Python ein Versuchen Sie zunächst, die Daten aus der CSV-Datei zu lesen. Ziehen Sie das Symbol der installierten CSV-Datei, um es in die Dateiliste auf der linken Seite des Bildschirms aufzunehmen. Geben Sie als Nächstes den folgenden Code in Anacodas Jupyter Lab ein.
import pandas as pd
df = pd.read_csv("Pokemon.csv")
df
Anschließend wird die Liste auf dem Bildschirm angezeigt (siehe Abbildung unten).
Als nächstes möchte ich den Esper-Typ Pokemon ohne die Legende eingrenzen. Versuchen Sie, den folgenden Code einzugeben.
df.loc[(df.Legendary == False) & (df["Type 1"] == "Psychic")]
Dann denke ich, dass eine Liste von nicht legendären Pokémon vom Typ Esper angezeigt wird, wie auf dem Bildschirm unten gezeigt.
Übernehmen Sie dann die zuvor eingegrenzten Listenergebnisse und geben Sie den folgenden Code ein, um nach Pokemon mit einem Verteidigungswert von 60 oder mehr und einer Beweglichkeit von 65 oder weniger zu suchen.
df = df.loc[(df.Legendary == False) & (df["Type 1"] == "Psychic")]
df.loc[(df.Defense >= 60) & (df.Speed <= 65)]
Aufgrund der Eingabe denke ich, dass es erheblich eingegrenzt wurde.
Geben Sie abschließend den folgenden Code ein, um die Werte des Verteidigungsrennens in absteigender Reihenfolge zu sortieren, und fertig.
df = df.loc[(df.Defense >= 60) & (df.Speed <= 65)]
df.sort_values(by = ['Defense'], ascending = False)
Zusammenfassend können Sie das Ergebnis leicht erhalten, indem Sie den folgenden Code eingeben.
import pandas as pd
df = pd.read_csv("Pokemon.csv")
df = df.loc[(df.Legendary == False) & (df["Type 1"] == "Psychic")]
df = df.loc[(df.Defense >= 60) & (df.Speed <= 65)]
df.sort_values(by = ['Defense'], ascending = False)
Da es schwierig war, Pokemon mit englischen Namen zu verstehen, las ich auch die CSV-Datei mit japanischen Namen, die aus der von der URL kopierten Liste erstellt und auf die gleiche Weise eingegrenzt wurden. Benennen Sie die Datei Pokemon_data.csv und geben Sie den folgenden Code ein, um die Ergebnisse zu erhalten.
import pandas as pd
df = pd.read_csv("Pokemon_data.csv")
df = df.loc[(df.Legende== False) & (df["Typ 1"] == "Esper")]
df = df.loc[(df.Verteidigung>= 60) & (df.Beweglichkeit<= 65)]
df.sort_values(by = ['Verteidigung'], ascending = False)
Was ich fand, war, dass Brimon und Mushana gleichermaßen schnell und hoch in Verteidigung und Spezialverteidigung waren, also interpretierte ich sie als Kandidaten für Pokemon, um den Trickraum zu benutzen.
Es gibt andere Pokémon vom Typ Geister, die Trickräume verwenden können. Daher kann es sinnvoll sein, den Code einzugeben und auch danach zu suchen.
Sie können den Code mit Pandas unter der folgenden URL üben. Ich denke, es ist eine gute Referenz für das Programmieren.
https://www.kaggle.com/learn/pandas
Recommended Posts