{ "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
anime_idnamegenretypeepisodesratingmembers
032281Kimi no Na wa.Drama, Romance, School, SupernaturalMovie19.37200630
15114Fullmetal Alchemist: BrotherhoodAction, Adventure, Drama, Fantasy, Magic, Mili...TV649.26793665
228977Gintama°Action, Comedy, Historical, Parody, Samurai, S...TV519.25114262
39253Steins;GateSci-Fi, ThrillerTV249.17673572
49969Gintama'Action, Comedy, Historical, Parody, Samurai, S...TV519.16151266
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
anime_idnamegenretypeepisodesratingmembers
032281Kimi no Na wa.Drama, Romance, School, SupernaturalMovie19.37200630
15114Fullmetal Alchemist: BrotherhoodAction, Adventure, Drama, Fantasy, Magic, Mili...TV649.26793665
228977Gintama°Action, Comedy, Historical, Parody, Samurai, S...TV519.25114262
39253Steins;GateSci-Fi, ThrillerTV249.17673572
49969Gintama'Action, Comedy, Historical, Parody, Samurai, S...TV519.16151266
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
anime_idnamegenretypeepisodesratingmembers
020707\"0\"MusicMusic15.061170
125627\"Aesop\" no Ohanashi yori: Ushi to Kaeru, Yokub...KidsMovie15.00113
27669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiComedyOVA17.0614351
37669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiSchoolOVA17.0614351
47669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiFantasyOVA17.0614351
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
anime_idnamegenretypeepisodesratingmembers
07669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiComedyOVA17.0614351
17669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiSchoolOVA17.0614351
27669\"Bungaku Shoujo\" Kyou no Oyatsu: HatsukoiFantasyOVA17.0614351
38481\"Bungaku Shoujo\" MemoireSchoolOVA37.5418013
48481\"Bungaku Shoujo\" MemoireDramaOVA37.5418013
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genreMovieMusicONAOVASpecialTV
0Comedy7293127.020860.01477266.05614758.06659293.065420862.0
1Action10224960.077054.0524907.05793680.03412689.063364032.0
2Drama9034099.0100734.0188427.03043374.01915578.041011557.0
3Romance5245386.042811.0411331.03143167.02015820.040703388.0
4Supernatural5452779.09189.0192989.02696715.02336723.038956520.0
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TOEI ANIMATIONIG Port
Date
2015-01-013356.861201.51
2015-01-023356.861201.51
2015-01-053396.121218.44
2015-01-063361.771201.51
2015-01-073297.971202.51
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TOEI ANIMATIONIG Port
Date
2015-01-011.0000001.000000
2015-01-021.0000001.000000
2015-01-051.0116951.014082
2015-01-061.0014631.000000
2015-01-070.9824571.000824
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OpenHighLowCloseVolume
Date
2010-01-041600.01600.01580.01597.05600.0
2010-01-051597.01605.01590.01600.014800.0
2010-01-061600.01602.01579.01601.08300.0
2010-01-071600.01600.01590.01595.03700.0
2010-01-081599.01601.01595.01600.032300.0
\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 }