{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 第3章 pandasでデータを処理しよう\n",
"\n",
"### 3-2: サンプルデータの説明"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"https://raw.githubusercontent.com/practical-jupyter/sample-data/master/anime/anime.csv\n"
]
}
],
"source": [
"# リスト3.2.1:サンプルデータのパス\n",
"import os\n",
"\n",
"base_url = (\n",
" \"https://raw.githubusercontent.com/practical-jupyter/sample-data/master/anime/\"\n",
")\n",
"anime_csv = os.path.join(base_url, \"anime.csv\")\n",
"print(anime_csv)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# リスト3.2.2:ローカルデータの参照\n",
"# ローカルファイルのパスを指定 (ダウンロードした場所に応じて要変更)\n",
"anime_csv = \"./anime/anime.csv\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" anime_id | \n",
" name | \n",
" genre | \n",
" type | \n",
" episodes | \n",
" rating | \n",
" members | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 32281 | \n",
" Kimi no Na wa. | \n",
" Drama, Romance, School, Supernatural | \n",
" Movie | \n",
" 1 | \n",
" 9.37 | \n",
" 200630 | \n",
"
\n",
" \n",
" 1 | \n",
" 5114 | \n",
" Fullmetal Alchemist: Brotherhood | \n",
" Action, Adventure, Drama, Fantasy, Magic, Mili... | \n",
" TV | \n",
" 64 | \n",
" 9.26 | \n",
" 793665 | \n",
"
\n",
" \n",
" 2 | \n",
" 28977 | \n",
" Gintama° | \n",
" Action, Comedy, Historical, Parody, Samurai, S... | \n",
" TV | \n",
" 51 | \n",
" 9.25 | \n",
" 114262 | \n",
"
\n",
" \n",
" 3 | \n",
" 9253 | \n",
" Steins;Gate | \n",
" Sci-Fi, Thriller | \n",
" TV | \n",
" 24 | \n",
" 9.17 | \n",
" 673572 | \n",
"
\n",
" \n",
" 4 | \n",
" 9969 | \n",
" Gintama' | \n",
" Action, Comedy, Historical, Parody, Samurai, S... | \n",
" TV | \n",
" 51 | \n",
" 9.16 | \n",
" 151266 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" anime_id name \\\n",
"0 32281 Kimi no Na wa. \n",
"1 5114 Fullmetal Alchemist: Brotherhood \n",
"2 28977 Gintama° \n",
"3 9253 Steins;Gate \n",
"4 9969 Gintama' \n",
"\n",
" genre type episodes rating \\\n",
"0 Drama, Romance, School, Supernatural Movie 1 9.37 \n",
"1 Action, Adventure, Drama, Fantasy, Magic, Mili... TV 64 9.26 \n",
"2 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.25 \n",
"3 Sci-Fi, Thriller TV 24 9.17 \n",
"4 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.16 \n",
"\n",
" members \n",
"0 200630 \n",
"1 793665 \n",
"2 114262 \n",
"3 673572 \n",
"4 151266 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.4:anime.csvの取得\n",
"import pandas as pd\n",
"\n",
"anime_csv = os.path.join(base_url, \"anime.csv\")\n",
"pd.read_csv(anime_csv).head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" anime_id | \n",
" name | \n",
" genre | \n",
" type | \n",
" episodes | \n",
" rating | \n",
" members | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 32281 | \n",
" Kimi no Na wa. | \n",
" Drama, Romance, School, Supernatural | \n",
" Movie | \n",
" 1 | \n",
" 9.37 | \n",
" 200630 | \n",
"
\n",
" \n",
" 1 | \n",
" 5114 | \n",
" Fullmetal Alchemist: Brotherhood | \n",
" Action, Adventure, Drama, Fantasy, Magic, Mili... | \n",
" TV | \n",
" 64 | \n",
" 9.26 | \n",
" 793665 | \n",
"
\n",
" \n",
" 2 | \n",
" 28977 | \n",
" Gintama° | \n",
" Action, Comedy, Historical, Parody, Samurai, S... | \n",
" TV | \n",
" 51 | \n",
" 9.25 | \n",
" 114262 | \n",
"
\n",
" \n",
" 3 | \n",
" 9253 | \n",
" Steins;Gate | \n",
" Sci-Fi, Thriller | \n",
" TV | \n",
" 24 | \n",
" 9.17 | \n",
" 673572 | \n",
"
\n",
" \n",
" 4 | \n",
" 9969 | \n",
" Gintama' | \n",
" Action, Comedy, Historical, Parody, Samurai, S... | \n",
" TV | \n",
" 51 | \n",
" 9.16 | \n",
" 151266 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" anime_id name \\\n",
"0 32281 Kimi no Na wa. \n",
"1 5114 Fullmetal Alchemist: Brotherhood \n",
"2 28977 Gintama° \n",
"3 9253 Steins;Gate \n",
"4 9969 Gintama' \n",
"\n",
" genre type episodes rating \\\n",
"0 Drama, Romance, School, Supernatural Movie 1 9.37 \n",
"1 Action, Adventure, Drama, Fantasy, Magic, Mili... TV 64 9.26 \n",
"2 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.25 \n",
"3 Sci-Fi, Thriller TV 24 9.17 \n",
"4 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.16 \n",
"\n",
" members \n",
"0 200630 \n",
"1 793665 \n",
"2 114262 \n",
"3 673572 \n",
"4 151266 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.5:anime_master.csvの取得\n",
"anime_master_csv = os.path.join(base_url, \"anime_master.csv\")\n",
"pd.read_csv(anime_master_csv).head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" anime_id | \n",
" name | \n",
" genre | \n",
" type | \n",
" episodes | \n",
" rating | \n",
" members | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 20707 | \n",
" \"0\" | \n",
" Music | \n",
" Music | \n",
" 1 | \n",
" 5.06 | \n",
" 1170 | \n",
"
\n",
" \n",
" 1 | \n",
" 25627 | \n",
" \"Aesop\" no Ohanashi yori: Ushi to Kaeru, Yokub... | \n",
" Kids | \n",
" Movie | \n",
" 1 | \n",
" 5.00 | \n",
" 113 | \n",
"
\n",
" \n",
" 2 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" Comedy | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
" 3 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" School | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
" 4 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" Fantasy | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" anime_id name genre \\\n",
"0 20707 \"0\" Music \n",
"1 25627 \"Aesop\" no Ohanashi yori: Ushi to Kaeru, Yokub... Kids \n",
"2 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi Comedy \n",
"3 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi School \n",
"4 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi Fantasy \n",
"\n",
" type episodes rating members \n",
"0 Music 1 5.06 1170 \n",
"1 Movie 1 5.00 113 \n",
"2 OVA 1 7.06 14351 \n",
"3 OVA 1 7.06 14351 \n",
"4 OVA 1 7.06 14351 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.6:anime_split_genre.csvの取得\n",
"anime_split_genre_csv = os.path.join(base_url, \"anime_split_genre.csv\")\n",
"pd.read_csv(anime_split_genre_csv).head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" anime_id | \n",
" name | \n",
" genre | \n",
" type | \n",
" episodes | \n",
" rating | \n",
" members | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" Comedy | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
" 1 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" School | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
" 2 | \n",
" 7669 | \n",
" \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi | \n",
" Fantasy | \n",
" OVA | \n",
" 1 | \n",
" 7.06 | \n",
" 14351 | \n",
"
\n",
" \n",
" 3 | \n",
" 8481 | \n",
" \"Bungaku Shoujo\" Memoire | \n",
" School | \n",
" OVA | \n",
" 3 | \n",
" 7.54 | \n",
" 18013 | \n",
"
\n",
" \n",
" 4 | \n",
" 8481 | \n",
" \"Bungaku Shoujo\" Memoire | \n",
" Drama | \n",
" OVA | \n",
" 3 | \n",
" 7.54 | \n",
" 18013 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" anime_id name genre type \\\n",
"0 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi Comedy OVA \n",
"1 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi School OVA \n",
"2 7669 \"Bungaku Shoujo\" Kyou no Oyatsu: Hatsukoi Fantasy OVA \n",
"3 8481 \"Bungaku Shoujo\" Memoire School OVA \n",
"4 8481 \"Bungaku Shoujo\" Memoire Drama OVA \n",
"\n",
" episodes rating members \n",
"0 1 7.06 14351 \n",
"1 1 7.06 14351 \n",
"2 1 7.06 14351 \n",
"3 3 7.54 18013 \n",
"4 3 7.54 18013 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.7:anime_genre_top10.csvの取得\n",
"anime_genre_top10_csv = os.path.join(base_url, \"anime_genre_top10.csv\")\n",
"pd.read_csv(anime_genre_top10_csv).head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" genre | \n",
" Movie | \n",
" Music | \n",
" ONA | \n",
" OVA | \n",
" Special | \n",
" TV | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Comedy | \n",
" 7293127.0 | \n",
" 20860.0 | \n",
" 1477266.0 | \n",
" 5614758.0 | \n",
" 6659293.0 | \n",
" 65420862.0 | \n",
"
\n",
" \n",
" 1 | \n",
" Action | \n",
" 10224960.0 | \n",
" 77054.0 | \n",
" 524907.0 | \n",
" 5793680.0 | \n",
" 3412689.0 | \n",
" 63364032.0 | \n",
"
\n",
" \n",
" 2 | \n",
" Drama | \n",
" 9034099.0 | \n",
" 100734.0 | \n",
" 188427.0 | \n",
" 3043374.0 | \n",
" 1915578.0 | \n",
" 41011557.0 | \n",
"
\n",
" \n",
" 3 | \n",
" Romance | \n",
" 5245386.0 | \n",
" 42811.0 | \n",
" 411331.0 | \n",
" 3143167.0 | \n",
" 2015820.0 | \n",
" 40703388.0 | \n",
"
\n",
" \n",
" 4 | \n",
" Supernatural | \n",
" 5452779.0 | \n",
" 9189.0 | \n",
" 192989.0 | \n",
" 2696715.0 | \n",
" 2336723.0 | \n",
" 38956520.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" genre Movie Music ONA OVA Special \\\n",
"0 Comedy 7293127.0 20860.0 1477266.0 5614758.0 6659293.0 \n",
"1 Action 10224960.0 77054.0 524907.0 5793680.0 3412689.0 \n",
"2 Drama 9034099.0 100734.0 188427.0 3043374.0 1915578.0 \n",
"3 Romance 5245386.0 42811.0 411331.0 3143167.0 2015820.0 \n",
"4 Supernatural 5452779.0 9189.0 192989.0 2696715.0 2336723.0 \n",
"\n",
" TV \n",
"0 65420862.0 \n",
"1 63364032.0 \n",
"2 41011557.0 \n",
"3 40703388.0 \n",
"4 38956520.0 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.8:anime_genre_top10_pivoted.csvの取得\n",
"anime_genre_top10_pivoted_csv = os.path.join(base_url, \"anime_genre_top10_pivoted.csv\")\n",
"pd.read_csv(anime_genre_top10_pivoted_csv).head()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" TOEI ANIMATION | \n",
" IG Port | \n",
"
\n",
" \n",
" Date | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2015-01-01 | \n",
" 3356.86 | \n",
" 1201.51 | \n",
"
\n",
" \n",
" 2015-01-02 | \n",
" 3356.86 | \n",
" 1201.51 | \n",
"
\n",
" \n",
" 2015-01-05 | \n",
" 3396.12 | \n",
" 1218.44 | \n",
"
\n",
" \n",
" 2015-01-06 | \n",
" 3361.77 | \n",
" 1201.51 | \n",
"
\n",
" \n",
" 2015-01-07 | \n",
" 3297.97 | \n",
" 1202.51 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" TOEI ANIMATION IG Port\n",
"Date \n",
"2015-01-01 3356.86 1201.51\n",
"2015-01-02 3356.86 1201.51\n",
"2015-01-05 3396.12 1218.44\n",
"2015-01-06 3361.77 1201.51\n",
"2015-01-07 3297.97 1202.51"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.9:anime_stock_price.csvの取得\n",
"anime_stock_price_csv = os.path.join(base_url, \"anime_stock_price.csv\")\n",
"pd.read_csv(anime_stock_price_csv, index_col=0, parse_dates=[\"Date\"]).head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" TOEI ANIMATION | \n",
" IG Port | \n",
"
\n",
" \n",
" Date | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2015-01-01 | \n",
" 1.000000 | \n",
" 1.000000 | \n",
"
\n",
" \n",
" 2015-01-02 | \n",
" 1.000000 | \n",
" 1.000000 | \n",
"
\n",
" \n",
" 2015-01-05 | \n",
" 1.011695 | \n",
" 1.014082 | \n",
"
\n",
" \n",
" 2015-01-06 | \n",
" 1.001463 | \n",
" 1.000000 | \n",
"
\n",
" \n",
" 2015-01-07 | \n",
" 0.982457 | \n",
" 1.000824 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" TOEI ANIMATION IG Port\n",
"Date \n",
"2015-01-01 1.000000 1.000000\n",
"2015-01-02 1.000000 1.000000\n",
"2015-01-05 1.011695 1.014082\n",
"2015-01-06 1.001463 1.000000\n",
"2015-01-07 0.982457 1.000824"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.10:anime_stock_returns.csvの取得\n",
"anime_stock_returns_csv = os.path.join(base_url, \"anime_stock_returns.csv\")\n",
"pd.read_csv(anime_stock_returns_csv, index_col=0, parse_dates=[\"Date\"]).head()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Open | \n",
" High | \n",
" Low | \n",
" Close | \n",
" Volume | \n",
"
\n",
" \n",
" Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2010-01-04 | \n",
" 1600.0 | \n",
" 1600.0 | \n",
" 1580.0 | \n",
" 1597.0 | \n",
" 5600.0 | \n",
"
\n",
" \n",
" 2010-01-05 | \n",
" 1597.0 | \n",
" 1605.0 | \n",
" 1590.0 | \n",
" 1600.0 | \n",
" 14800.0 | \n",
"
\n",
" \n",
" 2010-01-06 | \n",
" 1600.0 | \n",
" 1602.0 | \n",
" 1579.0 | \n",
" 1601.0 | \n",
" 8300.0 | \n",
"
\n",
" \n",
" 2010-01-07 | \n",
" 1600.0 | \n",
" 1600.0 | \n",
" 1590.0 | \n",
" 1595.0 | \n",
" 3700.0 | \n",
"
\n",
" \n",
" 2010-01-08 | \n",
" 1599.0 | \n",
" 1601.0 | \n",
" 1595.0 | \n",
" 1600.0 | \n",
" 32300.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Open High Low Close Volume\n",
"Date \n",
"2010-01-04 1600.0 1600.0 1580.0 1597.0 5600.0\n",
"2010-01-05 1597.0 1605.0 1590.0 1600.0 14800.0\n",
"2010-01-06 1600.0 1602.0 1579.0 1601.0 8300.0\n",
"2010-01-07 1600.0 1600.0 1590.0 1595.0 3700.0\n",
"2010-01-08 1599.0 1601.0 1595.0 1600.0 32300.0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# リスト3.2.11:4816.csvの取得\n",
"t4816_csv = os.path.join(base_url, \"4816.csv\")\n",
"pd.read_csv(t4816_csv, index_col=0, parse_dates=[\"Date\"]).head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}