【Deeplearningでポケモン図鑑計画】pandasで世代図鑑を作成【その0?】

はじめに

こんにちは、がんがんです。今回は計画の中に書き忘れていたpandasによる前処理をまとめました。
内容的にはpandasの練習的な内容になります。

世代ごとのcsvファイルの作成

今回行ったのは、各世代ごとのcsvファイルの作成です。
ポケモンに関する資料はありがたいことに様々な方がまとめられています。

ポケモンの番号と名前のデータを探しているときにこちらの記事に出会いました。

http://www.absolute-keitarou.net/blog/?p=727www.absolute-keitarou.net

ありがたいことに、すべてのポケモンの番号と名前をまとめたjsonファイルをgithubの方へ公開されていました。
githubへのリンクも貼っておきます。

GitHub - keitarou/pokemon_zukan: TODO: one-line summary of your gem


学習・管理を行う際に、全種まとめて行うよりも世代ごとに行ったほうが簡単だと思います。
そのため、今回はpandasを用いて世代ごとに分割していきました。

コード

コードは以下のようになっています。なお、マシンはWindowsPython環境は3.6です。

import pandas as pd
import json
from pathlib import Path

#  RG:赤緑, GS:金銀, RS:ルビー・サファイア, DP:ダイアモンド・パール
#  BW:ブラック・ホワイト, XY:X・Y, SM:サン・ムーン
name_list = [ "RG","GS", "RS", "DP", "BW", "XY", "SM"]
num_list = [ 1, 152, 252, 387, 494, 650, 721]

"""
	メイン
"""
def main():
	#  空のデータフレームを作成
	df_origin = pd.DataFrame( index=[], columns=['number','name'])

	#  jsonファイルの読み込み
	dir_path = Path("./zukan/name_table.json")
	with dir_path.open( mode="r", encoding="utf-8") as f:
		json_dict = json.load(f)

	#  DataFrameに追加
	df_origin['number'] = list(json_dict.values())
	df_origin['name'] = list(json_dict.keys())

	#  世代に合わせて図鑑を分けていく
	#  最終世代のみexcept文で例外処理
	try:
		for i in range( 0, len(num_list)):
			st = num_list[i]-1
			ed = num_list[i+1]-1
			
			df = df_origin[st:ed].copy()
			print("--------------------------")
			print(df.head())
			#  csvファイルに保存
			df.to_csv("./zukan/" + name_list[i] + ".csv", index=False)

	except IndexError:
		df = df_origin[st:].copy()

if __name__ == '__main__':
	main()

まとめ

無事に世代ごとのcsvファイルが作成出来ました。その1の方ではここで分割したcsvファイルを使用しています。
やったことを1つずつ忘れずに書いていきます。

また、Githubについてもそろそろ使用して慣れていこうと思います。

<追記> 2018.10.31
その1を更新したので以下にリンクを貼っておきます。

gangannikki.hatenadiary.jp