Forked from YourHeroKominato/Web Scrapping using Selenium Python.ipynb
Created
May 30, 2024 16:31
-
-
Save mfrancois3k/48af24287ffe66561f4b74910586886f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Scrape the website\n", | |
"###### Scrape Yu-gi-oh database and obtain HTML from targeted deck's website. \n", | |
"###### 遊戯王データベースをスクレイピングし、対象となるデッキのウェブサイトからHTMLを取得します。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#imports\n", | |
"\n", | |
"import requests\n", | |
"from bs4 import BeautifulSoup as bs4\n", | |
"\n", | |
"import time\n", | |
"from selenium import webdriver\n", | |
"import chromedriver_binary\n", | |
"from selenium.webdriver.common.keys import Keys\n", | |
"from selenium.webdriver.chrome.options import Options\n", | |
"from selenium.common.exceptions import NoSuchElementException\n", | |
"\n", | |
"import re\n", | |
"\n", | |
"import warnings\n", | |
"warnings.resetwarnings()\n", | |
"warnings.simplefilter('ignore', DeprecationWarning)\n", | |
"warnings.simplefilter('ignore', ResourceWarning)\n", | |
"\n", | |
"import pandas as pd\n", | |
"import openpyxl\n", | |
"from IPython.core.display import display" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"###### Load the HTML from the deck introduction page registered in the official DB of Yu-Gi-Oh! The deck I will be analyzing is a Dragon Link deck, which I use in Master Duel.\n", | |
"###### 遊戯王の公式DBに登録したデッキ紹介ページからHTMLを読み込みます。今回、分析するデッキはドラゴンリンクデッキで、自身がマスターデュエル(ゲーム)で使ってるデッキです。\n", | |
"\n", | |
"###### Deck link ->\n", | |
"\n", | |
"###### (JP) http://www.db.yugioh-card.com/yugiohdb/member_deck.action?cgid=7d079deb81cbfbb48026ba3600c52d62&dno=4&request_locale=ja\n", | |
"\n", | |
"###### (ENG) https://www.db.yugioh-card.com/yugiohdb/member_deck.action?cgid=7d079deb81cbfbb48026ba3600c52d62&dno=4&request_locale=en" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"URL = 'http://www.db.yugioh-card.com/yugiohdb/member_deck.action?cgid=7d079deb81cbfbb48026ba3600c52d62&dno=4&request_locale=ja'\n", | |
"res = requests.get(URL)\n", | |
"if res.status_code != requests.codes.ok:\n", | |
" print('Error')\n", | |
" exit(1)\n", | |
"soup = bs4(res.text)\n", | |
"#soup.head() #shows html" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Create a list\n", | |
"###### From HTML file, create list of card names and count num.\n", | |
"###### 読み込んだHTMLからカード名と数を取得します。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\n", | |
"メインデッキ合計\n", | |
"41\n", | |
"\n", | |
"\n", | |
"エクストラデッキ合計\n", | |
"15\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"deck_name = \"DragonLink_PureVer1.0\"\n", | |
"\n", | |
"num_title = soup.find('a', id= \"num_total_m\").text #メインデッキ合計\n", | |
"print(num_title)\n", | |
"num_total_e = soup.find('a', id= \"num_total_e\").text #エクストラデッキ合計\n", | |
"print(num_total_e)\n", | |
"\n", | |
"num_of_main = int(num_title[10:12])\n", | |
"num_of_extra = int(num_total_e[12:14])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"カードの種類:['輝光竜セイファート', 'アブソルーター・ドラゴン', 'ヴァレット・トレーサー', 'ヴァレット・シンクロン', 'ヴァレット・リチャージャー', '灰流うらら', '原始生命態ニビル', '混源龍レヴィオニア', '暗黒竜 コラプサーペント', '輝白竜 ワイバースター', 'マグナヴァレット・ドラゴン', 'メタルヴァレット・ドラゴン', '増殖するG', 'ノクトビジョン・ドラゴン', 'PSYフレームギア・γ', 'PSYフレーム・ドライバー', 'リボルブート・セクター', 'クイック・リボルブ', '竜の渓谷', '混沌領域', 'サンダー・ボルト', 'ハーピィの羽根帚', '龍の鏡', '星遺物の守護竜', 'マスク・チェンジ・セカンド', '墓穴の指名者', '王宮の勅命', 'ブレイクスルー・スキル', 'M・HERO ダーク・ロウ', 'ストライカー・ドラゴン', 'ヴァレルソード・ドラゴン', 'ヴァレルロード・S・ドラゴン', 'ヴァレルロード・F・ドラゴン', '煉獄龍 オーガ・ドラグーン', 'ツイン・トライアングル・ドラゴン', 'No.38 希望魁竜タイタニック・ギャラクシー', '天球の聖刻印', 'ドラグニティナイト-ロムルス', 'トロイメア・ユニコーン', '混沌魔龍 カオス・ルーラー', '琰魔竜 レッド・デーモン・アビス']\n", | |
"41\n", | |
"['1', '2', '3', '1', '1', '2', '1', '1', '1', '2', '1', '1', '2', '1', '2', '1', '1', '3', '1', '3', '1', '1', '1', '2', '1', '2', '1', '1', '1', '2', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']\n", | |
"カードの種類:41\n" | |
] | |
} | |
], | |
"source": [ | |
"#create a list with card names and num\n", | |
"\n", | |
"num_of_total = num_of_main + num_of_extra\n", | |
"\n", | |
"card_list = soup.find_all('td', class_= \"card_name\") # デッキの全カード名をリストとして取得\n", | |
"cardList = [] # 配列を作成\n", | |
"num_list = soup.find_all('td', class_= \"num\") # カードの枚数を取得\n", | |
"numList = [] # 配列を作成\n", | |
"\n", | |
"nm = 0\n", | |
"for n, m in zip(card_list,num_list):#spanタグのテキストデータを配列に格納\n", | |
" card_txt = n.text.replace('\\n', '')\n", | |
" num_txt = m.text.strip() #カードの枚数を取得する際にエラー。空白を消去。\n", | |
" nm = nm + int(num_txt)\n", | |
" if nm == num_of_total:\n", | |
" break\n", | |
" else:\n", | |
" cardList.append(card_txt)\n", | |
" numList.append(num_txt)\n", | |
"\n", | |
"print(\"カードの種類:{}\".format(cardList))\n", | |
"# print(\"カードの種類:{}\".format(set(cardList))) #setでも重複を削除可。\n", | |
"print(len(cardList))\n", | |
"print(numList)\n", | |
"print(\"カードの種類:{}\".format(len(numList)))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Get attribute by web scrapping\n", | |
"###### Now let Chrome to find each card information through web scraping! This function automatically search card name in Yu-gi-oh wiki and determine if its card types (Monster, Magic, etc...) Those values will be imported into dataframe.\n", | |
"\n", | |
"###### クロームにカードの情報を探してもらいましょう!下記の関数は、遊戯王Wikiでカード名を検索しカードの種類を取得するプログラムを書いています。取得した情報はデータフレームに落とします。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Creating an empty Dataframe with column names only\n", | |
"df = pd.DataFrame(columns=['Card_name', 'Card_type', 'n_of_card'])\n", | |
"# list of card types\n", | |
"card_type = [\"融合モンスター\",\"シンクロモンスター\",\"エクシーズモンスター\",\"リンクモンスター\",\"モンスター\",\"魔法\",\"罠\"]\n", | |
"# empty list for error\n", | |
"error_card = []\n", | |
"\n", | |
"# Create function\n", | |
"def card_register(index_number,keyword, n_of_card):\n", | |
" print(keyword+\"の情報を確認中。\")\n", | |
" # Setting up chromedriver\n", | |
" options = Options()\n", | |
" options.add_argument('--headless')\n", | |
" driver = webdriver.Chrome(chrome_options=options) #hide Chrome\n", | |
" # driver = webdriver.Chrome() #show Chrome\n", | |
" driver.get('https://yugioh-wiki.net/')\n", | |
" # time.sleep(1) # Let the user actually see something\n", | |
" search_box = driver.find_element_by_name('word')\n", | |
" search_box.send_keys(keyword)\n", | |
" search_box.submit()\n", | |
" # time.sleep(1) # Let the user actually see something\n", | |
" try:\n", | |
" page_link = driver.find_element_by_link_text('《'+keyword+'》')\n", | |
" except NoSuchElementException:\n", | |
" print(keyword+\"はリンクが見つかりませんでした。\\n ------\") #to pick card that is not found\n", | |
" error_card.append(keyword)\n", | |
" df.loc[index_number]=[keyword, \"unknown\", n_of_card] #assign a card with an error\n", | |
" else:\n", | |
" url = page_link.get_attribute(\"href\")\n", | |
" # time.sleep(1) # Let the user actually see something\n", | |
" res = requests.get(url)\n", | |
" if res.status_code != requests.codes.ok: \n", | |
" print('Error')\n", | |
" exit(1)\n", | |
" soup = bs4(res.text)\n", | |
" tag = soup.find('span', class_= \"tag\").text #match with card types\n", | |
" tag_split_list = tag.split()\n", | |
" for tag in tag_split_list:\n", | |
" if tag in card_type:\n", | |
" print(\"カードの種類:\"+tag+\"\\n ------\")\n", | |
" cardType = tag\n", | |
" df.loc[index_number]=[keyword, cardType, n_of_card] #assign a card with card types\n", | |
" driver.quit()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"1\n", | |
"輝光竜セイファートの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"2\n", | |
"アブソルーター・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"3\n", | |
"ヴァレット・トレーサーの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"4\n", | |
"ヴァレット・シンクロンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"5\n", | |
"ヴァレット・リチャージャーの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"6\n", | |
"灰流うららの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"7\n", | |
"原始生命態ニビルの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"8\n", | |
"混源龍レヴィオニアの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"9\n", | |
"暗黒竜 コラプサーペントの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"10\n", | |
"輝白竜 ワイバースターの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"11\n", | |
"マグナヴァレット・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"12\n", | |
"メタルヴァレット・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"13\n", | |
"増殖するGの情報を確認中。\n", | |
"増殖するGはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"14\n", | |
"ノクトビジョン・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"15\n", | |
"PSYフレームギア・γの情報を確認中。\n", | |
"PSYフレームギア・γはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"16\n", | |
"PSYフレーム・ドライバーの情報を確認中。\n", | |
"PSYフレーム・ドライバーはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"17\n", | |
"リボルブート・セクターの情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"18\n", | |
"クイック・リボルブの情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"19\n", | |
"竜の渓谷の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"20\n", | |
"混沌領域の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"21\n", | |
"サンダー・ボルトの情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"22\n", | |
"ハーピィの羽根帚の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"23\n", | |
"龍の鏡の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"24\n", | |
"星遺物の守護竜の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"25\n", | |
"マスク・チェンジ・セカンドの情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"26\n", | |
"墓穴の指名者の情報を確認中。\n", | |
"カードの種類:魔法\n", | |
" ------\n", | |
"27\n", | |
"王宮の勅命の情報を確認中。\n", | |
"カードの種類:罠\n", | |
" ------\n", | |
"28\n", | |
"ブレイクスルー・スキルの情報を確認中。\n", | |
"カードの種類:罠\n", | |
" ------\n", | |
"29\n", | |
"M・HERO ダーク・ロウの情報を確認中。\n", | |
"M・HERO ダーク・ロウはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"30\n", | |
"ストライカー・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"31\n", | |
"ヴァレルソード・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"32\n", | |
"ヴァレルロード・S・ドラゴンの情報を確認中。\n", | |
"ヴァレルロード・S・ドラゴンはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"33\n", | |
"ヴァレルロード・F・ドラゴンの情報を確認中。\n", | |
"ヴァレルロード・F・ドラゴンはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"34\n", | |
"煉獄龍 オーガ・ドラグーンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:シンクロモンスター\n", | |
" ------\n", | |
"35\n", | |
"ツイン・トライアングル・ドラゴンの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"36\n", | |
"No.38 希望魁竜タイタニック・ギャラクシーの情報を確認中。\n", | |
"No.38 希望魁竜タイタニック・ギャラクシーはリンクが見つかりませんでした。\n", | |
" ------\n", | |
"37\n", | |
"天球の聖刻印の情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"38\n", | |
"ドラグニティナイト-ロムルスの情報を確認中。\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"39\n", | |
"トロイメア・ユニコーンの情報を確認中。\n", | |
"カードの種類:リンクモンスター\n", | |
" ------\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"40\n", | |
"混沌魔龍 カオス・ルーラーの情報を確認中。\n", | |
"カードの種類:シンクロモンスター\n", | |
" ------\n", | |
"カードの種類:モンスター\n", | |
" ------\n", | |
"41\n", | |
"琰魔竜 レッド・デーモン・アビスの情報を確認中。\n", | |
"琰魔竜 レッド・デーモン・アビスはリンクが見つかりませんでした。\n", | |
" ------\n" | |
] | |
} | |
], | |
"source": [ | |
"#enable above function with the card list\n", | |
"nm = 0\n", | |
"for card_name, n in zip(cardList,numList):\n", | |
" nm += 1\n", | |
" print(nm)\n", | |
" card_register(nm,card_name,n)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Card_name</th>\n", | |
" <th>Card_type</th>\n", | |
" <th>n_of_card</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>輝光竜セイファート</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>アブソルーター・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>ヴァレット・トレーサー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>ヴァレット・シンクロン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>ヴァレット・リチャージャー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>灰流うらら</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>原始生命態ニビル</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>混源龍レヴィオニア</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>暗黒竜 コラプサーペント</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>輝白竜 ワイバースター</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>マグナヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>メタルヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>増殖するG</td>\n", | |
" <td>unknown</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>ノクトビジョン・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>PSYフレームギア・γ</td>\n", | |
" <td>unknown</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>PSYフレーム・ドライバー</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>リボルブート・セクター</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>クイック・リボルブ</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>竜の渓谷</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>混沌領域</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>サンダー・ボルト</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>ハーピィの羽根帚</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>龍の鏡</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>星遺物の守護竜</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>マスク・チェンジ・セカンド</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>墓穴の指名者</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>王宮の勅命</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>ブレイクスルー・スキル</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>M・HERO ダーク・ロウ</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>ストライカー・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>ヴァレルソード・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>ヴァレルロード・S・ドラゴン</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>ヴァレルロード・F・ドラゴン</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>煉獄龍 オーガ・ドラグーン</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>ツイン・トライアングル・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>No.38 希望魁竜タイタニック・ギャラクシー</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>天球の聖刻印</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>ドラグニティナイト-ロムルス</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>トロイメア・ユニコーン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>混沌魔龍 カオス・ルーラー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>琰魔竜 レッド・デーモン・アビス</td>\n", | |
" <td>unknown</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Card_name Card_type n_of_card\n", | |
"1 輝光竜セイファート モンスター 1\n", | |
"2 アブソルーター・ドラゴン モンスター 2\n", | |
"3 ヴァレット・トレーサー モンスター 3\n", | |
"4 ヴァレット・シンクロン モンスター 1\n", | |
"5 ヴァレット・リチャージャー モンスター 1\n", | |
"6 灰流うらら モンスター 2\n", | |
"7 原始生命態ニビル モンスター 1\n", | |
"8 混源龍レヴィオニア モンスター 1\n", | |
"9 暗黒竜 コラプサーペント モンスター 1\n", | |
"10 輝白竜 ワイバースター モンスター 2\n", | |
"11 マグナヴァレット・ドラゴン モンスター 1\n", | |
"12 メタルヴァレット・ドラゴン モンスター 1\n", | |
"13 増殖するG unknown 2\n", | |
"14 ノクトビジョン・ドラゴン モンスター 1\n", | |
"15 PSYフレームギア・γ unknown 2\n", | |
"16 PSYフレーム・ドライバー unknown 1\n", | |
"17 リボルブート・セクター 魔法 1\n", | |
"18 クイック・リボルブ 魔法 3\n", | |
"19 竜の渓谷 魔法 1\n", | |
"20 混沌領域 魔法 3\n", | |
"21 サンダー・ボルト 魔法 1\n", | |
"22 ハーピィの羽根帚 魔法 1\n", | |
"23 龍の鏡 魔法 1\n", | |
"24 星遺物の守護竜 魔法 2\n", | |
"25 マスク・チェンジ・セカンド 魔法 1\n", | |
"26 墓穴の指名者 魔法 2\n", | |
"27 王宮の勅命 罠 1\n", | |
"28 ブレイクスルー・スキル 罠 1\n", | |
"29 M・HERO ダーク・ロウ unknown 1\n", | |
"30 ストライカー・ドラゴン リンクモンスター 2\n", | |
"31 ヴァレルソード・ドラゴン リンクモンスター 1\n", | |
"32 ヴァレルロード・S・ドラゴン unknown 1\n", | |
"33 ヴァレルロード・F・ドラゴン unknown 1\n", | |
"34 煉獄龍 オーガ・ドラグーン シンクロモンスター 1\n", | |
"35 ツイン・トライアングル・ドラゴン リンクモンスター 1\n", | |
"36 No.38 希望魁竜タイタニック・ギャラクシー unknown 1\n", | |
"37 天球の聖刻印 リンクモンスター 1\n", | |
"38 ドラグニティナイト-ロムルス リンクモンスター 1\n", | |
"39 トロイメア・ユニコーン モンスター 1\n", | |
"40 混沌魔龍 カオス・ルーラー モンスター 1\n", | |
"41 琰魔竜 レッド・デーモン・アビス unknown 1" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Card with errors /エラーが出たカードです。\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"['増殖するG',\n", | |
" 'PSYフレームギア・γ',\n", | |
" 'PSYフレーム・ドライバー',\n", | |
" 'M・HERO ダーク・ロウ',\n", | |
" 'ヴァレルロード・S・ドラゴン',\n", | |
" 'ヴァレルロード・F・ドラゴン',\n", | |
" 'No.38 希望魁竜タイタニック・ギャラクシー',\n", | |
" '琰魔竜 レッド・デーモン・アビス']" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"display(df)\n", | |
"print(\"Card with errors /エラーが出たカードです。\")\n", | |
"display(error_card)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Create a table\n", | |
"###### Organize Dataframe. This time, I filled missing attributes manually. Divide the table into main deck and extra deck based on card types.\n", | |
"###### データフレームを整理します。今回は欠落している属性を手動で補うこととします。カードの情報が記載されたテーブルをカードの種類によってメインデッキとエクストラデッキに分割する。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Card_name</th>\n", | |
" <th>Card_type</th>\n", | |
" <th>n_of_card</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>輝光竜セイファート</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>アブソルーター・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>ヴァレット・トレーサー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>ヴァレット・シンクロン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>ヴァレット・リチャージャー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>灰流うらら</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>原始生命態ニビル</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>混源龍レヴィオニア</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>暗黒竜 コラプサーペント</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>輝白竜 ワイバースター</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>マグナヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>メタルヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>増殖するG</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>ノクトビジョン・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>PSYフレームギア・γ</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>PSYフレーム・ドライバー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>リボルブート・セクター</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>クイック・リボルブ</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>竜の渓谷</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>混沌領域</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>サンダー・ボルト</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>ハーピィの羽根帚</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>龍の鏡</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>星遺物の守護竜</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>マスク・チェンジ・セカンド</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>墓穴の指名者</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>王宮の勅命</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>ブレイクスルー・スキル</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>M・HERO ダーク・ロウ</td>\n", | |
" <td>融合モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>ストライカー・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>ヴァレルソード・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>ヴァレルロード・S・ドラゴン</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>ヴァレルロード・F・ドラゴン</td>\n", | |
" <td>融合モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>煉獄龍 オーガ・ドラグーン</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>ツイン・トライアングル・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>No.38 希望魁竜タイタニック・ギャラクシー</td>\n", | |
" <td>エクシーズモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>天球の聖刻印</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>ドラグニティナイト-ロムルス</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>トロイメア・ユニコーン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>混沌魔龍 カオス・ルーラー</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>琰魔竜 レッド・デーモン・アビス</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Card_name Card_type n_of_card\n", | |
"1 輝光竜セイファート モンスター 1\n", | |
"2 アブソルーター・ドラゴン モンスター 2\n", | |
"3 ヴァレット・トレーサー モンスター 3\n", | |
"4 ヴァレット・シンクロン モンスター 1\n", | |
"5 ヴァレット・リチャージャー モンスター 1\n", | |
"6 灰流うらら モンスター 2\n", | |
"7 原始生命態ニビル モンスター 1\n", | |
"8 混源龍レヴィオニア モンスター 1\n", | |
"9 暗黒竜 コラプサーペント モンスター 1\n", | |
"10 輝白竜 ワイバースター モンスター 2\n", | |
"11 マグナヴァレット・ドラゴン モンスター 1\n", | |
"12 メタルヴァレット・ドラゴン モンスター 1\n", | |
"13 増殖するG モンスター 2\n", | |
"14 ノクトビジョン・ドラゴン モンスター 1\n", | |
"15 PSYフレームギア・γ モンスター 2\n", | |
"16 PSYフレーム・ドライバー モンスター 1\n", | |
"17 リボルブート・セクター 魔法 1\n", | |
"18 クイック・リボルブ 魔法 3\n", | |
"19 竜の渓谷 魔法 1\n", | |
"20 混沌領域 魔法 3\n", | |
"21 サンダー・ボルト 魔法 1\n", | |
"22 ハーピィの羽根帚 魔法 1\n", | |
"23 龍の鏡 魔法 1\n", | |
"24 星遺物の守護竜 魔法 2\n", | |
"25 マスク・チェンジ・セカンド 魔法 1\n", | |
"26 墓穴の指名者 魔法 2\n", | |
"27 王宮の勅命 罠 1\n", | |
"28 ブレイクスルー・スキル 罠 1\n", | |
"29 M・HERO ダーク・ロウ 融合モンスター 1\n", | |
"30 ストライカー・ドラゴン リンクモンスター 2\n", | |
"31 ヴァレルソード・ドラゴン リンクモンスター 1\n", | |
"32 ヴァレルロード・S・ドラゴン シンクロモンスター 1\n", | |
"33 ヴァレルロード・F・ドラゴン 融合モンスター 1\n", | |
"34 煉獄龍 オーガ・ドラグーン シンクロモンスター 1\n", | |
"35 ツイン・トライアングル・ドラゴン リンクモンスター 1\n", | |
"36 No.38 希望魁竜タイタニック・ギャラクシー エクシーズモンスター 1\n", | |
"37 天球の聖刻印 リンクモンスター 1\n", | |
"38 ドラグニティナイト-ロムルス リンクモンスター 1\n", | |
"39 トロイメア・ユニコーン リンクモンスター 1\n", | |
"40 混沌魔龍 カオス・ルーラー シンクロモンスター 1\n", | |
"41 琰魔竜 レッド・デーモン・アビス シンクロモンスター 1" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"df_copy = df\n", | |
"\n", | |
"#Classify error cards and cards in the wrong category.\n", | |
"monsters_w_error = ['増殖するG', 'PSYフレームギア・γ', 'PSYフレーム・ドライバー']\n", | |
"fusion_w_error = ['M・HERO ダーク・ロウ','ヴァレルロード・F・ドラゴン']\n", | |
"synchro_w_error = ['ヴァレルロード・S・ドラゴン','琰魔竜 レッド・デーモン・アビス','混沌魔龍 カオス・ルーラー']\n", | |
"xyz_w_error = ['No.38 希望魁竜タイタニック・ギャラクシー']\n", | |
"link_w_error = ['トロイメア・ユニコーン']\n", | |
"\n", | |
"df_copy.loc[df_copy[df_copy['Card_name'].isin(monsters_w_error)].index,'Card_type'] = \"モンスター\"\n", | |
"df_copy.loc[df_copy[df_copy['Card_name'].isin(fusion_w_error)].index,'Card_type'] = \"融合モンスター\"\n", | |
"df_copy.loc[df_copy[df_copy['Card_name'].isin(synchro_w_error)].index,'Card_type'] = \"シンクロモンスター\"\n", | |
"df_copy.loc[df_copy[df_copy['Card_name'].isin(xyz_w_error)].index,'Card_type'] = \"エクシーズモンスター\"\n", | |
"df_copy.loc[df_copy[df_copy['Card_name'].isin(link_w_error)].index,'Card_type'] = \"リンクモンスター\"\n", | |
"display(df_copy)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Main Deck:\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Card_name</th>\n", | |
" <th>Card_type</th>\n", | |
" <th>n_of_card</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>輝光竜セイファート</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>アブソルーター・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>ヴァレット・トレーサー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>ヴァレット・シンクロン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>ヴァレット・リチャージャー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>灰流うらら</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>原始生命態ニビル</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>混源龍レヴィオニア</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>暗黒竜 コラプサーペント</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>輝白竜 ワイバースター</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>マグナヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>メタルヴァレット・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>増殖するG</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>ノクトビジョン・ドラゴン</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>PSYフレームギア・γ</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>PSYフレーム・ドライバー</td>\n", | |
" <td>モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>リボルブート・セクター</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>クイック・リボルブ</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>竜の渓谷</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>混沌領域</td>\n", | |
" <td>魔法</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>サンダー・ボルト</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>ハーピィの羽根帚</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>龍の鏡</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>星遺物の守護竜</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>マスク・チェンジ・セカンド</td>\n", | |
" <td>魔法</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>墓穴の指名者</td>\n", | |
" <td>魔法</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>王宮の勅命</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>ブレイクスルー・スキル</td>\n", | |
" <td>罠</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Card_name Card_type n_of_card\n", | |
"1 輝光竜セイファート モンスター 1\n", | |
"2 アブソルーター・ドラゴン モンスター 2\n", | |
"3 ヴァレット・トレーサー モンスター 3\n", | |
"4 ヴァレット・シンクロン モンスター 1\n", | |
"5 ヴァレット・リチャージャー モンスター 1\n", | |
"6 灰流うらら モンスター 2\n", | |
"7 原始生命態ニビル モンスター 1\n", | |
"8 混源龍レヴィオニア モンスター 1\n", | |
"9 暗黒竜 コラプサーペント モンスター 1\n", | |
"10 輝白竜 ワイバースター モンスター 2\n", | |
"11 マグナヴァレット・ドラゴン モンスター 1\n", | |
"12 メタルヴァレット・ドラゴン モンスター 1\n", | |
"13 増殖するG モンスター 2\n", | |
"14 ノクトビジョン・ドラゴン モンスター 1\n", | |
"15 PSYフレームギア・γ モンスター 2\n", | |
"16 PSYフレーム・ドライバー モンスター 1\n", | |
"17 リボルブート・セクター 魔法 1\n", | |
"18 クイック・リボルブ 魔法 3\n", | |
"19 竜の渓谷 魔法 1\n", | |
"20 混沌領域 魔法 3\n", | |
"21 サンダー・ボルト 魔法 1\n", | |
"22 ハーピィの羽根帚 魔法 1\n", | |
"23 龍の鏡 魔法 1\n", | |
"24 星遺物の守護竜 魔法 2\n", | |
"25 マスク・チェンジ・セカンド 魔法 1\n", | |
"26 墓穴の指名者 魔法 2\n", | |
"27 王宮の勅命 罠 1\n", | |
"28 ブレイクスルー・スキル 罠 1" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Extra Deck\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Card_name</th>\n", | |
" <th>Card_type</th>\n", | |
" <th>n_of_card</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>M・HERO ダーク・ロウ</td>\n", | |
" <td>融合モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>ストライカー・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>ヴァレルソード・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>ヴァレルロード・S・ドラゴン</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>ヴァレルロード・F・ドラゴン</td>\n", | |
" <td>融合モンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>煉獄龍 オーガ・ドラグーン</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>ツイン・トライアングル・ドラゴン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>No.38 希望魁竜タイタニック・ギャラクシー</td>\n", | |
" <td>エクシーズモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>天球の聖刻印</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>ドラグニティナイト-ロムルス</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>トロイメア・ユニコーン</td>\n", | |
" <td>リンクモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>混沌魔龍 カオス・ルーラー</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>琰魔竜 レッド・デーモン・アビス</td>\n", | |
" <td>シンクロモンスター</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Card_name Card_type n_of_card\n", | |
"29 M・HERO ダーク・ロウ 融合モンスター 1\n", | |
"30 ストライカー・ドラゴン リンクモンスター 2\n", | |
"31 ヴァレルソード・ドラゴン リンクモンスター 1\n", | |
"32 ヴァレルロード・S・ドラゴン シンクロモンスター 1\n", | |
"33 ヴァレルロード・F・ドラゴン 融合モンスター 1\n", | |
"34 煉獄龍 オーガ・ドラグーン シンクロモンスター 1\n", | |
"35 ツイン・トライアングル・ドラゴン リンクモンスター 1\n", | |
"36 No.38 希望魁竜タイタニック・ギャラクシー エクシーズモンスター 1\n", | |
"37 天球の聖刻印 リンクモンスター 1\n", | |
"38 ドラグニティナイト-ロムルス リンクモンスター 1\n", | |
"39 トロイメア・ユニコーン リンクモンスター 1\n", | |
"40 混沌魔龍 カオス・ルーラー シンクロモンスター 1\n", | |
"41 琰魔竜 レッド・デーモン・アビス シンクロモンスター 1" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#create logic of dividing a table\n", | |
"df_main = df_copy[df_copy['Card_type'].isin([\"モンスター\",\"魔法\",\"罠\"])]\n", | |
"df_extra = df_copy[df_copy['Card_type'].isin([\"融合モンスター\",\"シンクロモンスター\",\"エクシーズモンスター\",\"リンクモンスター\"])]\n", | |
"print(\"Main Deck:\")\n", | |
"display(df_main)\n", | |
"print(\"Extra Deck\")\n", | |
"display(df_extra)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Export a data\n", | |
"###### Turn tables into csv and excel files!\n", | |
"###### 最後にCSV, Excelで出力しましょう!" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df_copy.to_csv('{}_all.csv'.format(deck_name))\n", | |
"df_main.to_csv('{}_main.csv'.format(deck_name))\n", | |
"df_extra.to_csv('{}_extra.csv'.format(deck_name))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df_copy.to_excel('{}_all.xlsx'.format(deck_name))\n", | |
"df_main.to_excel('{}_main.xlsx'.format(deck_name))\n", | |
"df_extra.to_excel('{}_extra.xlsx'.format(deck_name))" | |
] | |
} | |
], | |
"metadata": { | |
"interpreter": { | |
"hash": "6a19634eb33c5479826ec490c10857293e2fcbc0f1317d2520de4bd5a8793109" | |
}, | |
"kernelspec": { | |
"display_name": "Python 3.9.12 64-bit (windows store)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.12" | |
}, | |
"orig_nbformat": 4 | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment