Skip to content

Instantly share code, notes, and snippets.

@shimizukawa
Last active September 26, 2018 13:32
Show Gist options
  • Save shimizukawa/8aca0b55d3acbc25ec05120d5e84b727 to your computer and use it in GitHub Desktop.
Save shimizukawa/8aca0b55d3acbc25ec05120d5e84b727 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ビール銘柄と醸造所の分析\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ビールデータ読み込み"
]
},
{
"cell_type": "code",
"execution_count": 2,
"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>abv</th>\n",
" <th>ibu</th>\n",
" <th>name</th>\n",
" <th>style</th>\n",
" <th>brewery_id</th>\n",
" <th>ounces</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1436</th>\n",
" <td>0.050</td>\n",
" <td>NaN</td>\n",
" <td>Pub Beer</td>\n",
" <td>American Pale Lager</td>\n",
" <td>408</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2265</th>\n",
" <td>0.066</td>\n",
" <td>NaN</td>\n",
" <td>Devil's Cup</td>\n",
" <td>American Pale Ale (APA)</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2264</th>\n",
" <td>0.071</td>\n",
" <td>NaN</td>\n",
" <td>Rise of the Phoenix</td>\n",
" <td>American IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2263</th>\n",
" <td>0.090</td>\n",
" <td>NaN</td>\n",
" <td>Sinister</td>\n",
" <td>American Double / Imperial IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2262</th>\n",
" <td>0.075</td>\n",
" <td>NaN</td>\n",
" <td>Sex and Candy</td>\n",
" <td>American IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" abv ibu name style \\\n",
"id \n",
"1436 0.050 NaN Pub Beer American Pale Lager \n",
"2265 0.066 NaN Devil's Cup American Pale Ale (APA) \n",
"2264 0.071 NaN Rise of the Phoenix American IPA \n",
"2263 0.090 NaN Sinister American Double / Imperial IPA \n",
"2262 0.075 NaN Sex and Candy American IPA \n",
"\n",
" brewery_id ounces \n",
"id \n",
"1436 408 12.0 \n",
"2265 177 12.0 \n",
"2264 177 12.0 \n",
"2263 177 12.0 \n",
"2262 177 12.0 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_beers = pd.read_csv('beers.csv', index_col='id')\n",
"df_beers.drop(df_beers.columns[0], inplace=True, axis=1) # 行を削除するため、axis=1\n",
"df_beers.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* abv = Alcohol By Volume = アルコール度数, [0, 1]\n",
"* ibu = IInternational Bitterness Units = 国際苦味単位\n",
"* name = ビールの名前\n",
"* style = ビールの種類\n",
"* brewery_id = breweries.csvのid列\n",
"* ounces = オンス(1オンスは30ml)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 数値データの概要を把握"
]
},
{
"cell_type": "code",
"execution_count": 16,
"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>abv</th>\n",
" <th>ibu</th>\n",
" <th>brewery_id</th>\n",
" <th>ounces</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>2348.000000</td>\n",
" <td>1405.000000</td>\n",
" <td>2410.000000</td>\n",
" <td>2410.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.059773</td>\n",
" <td>42.713167</td>\n",
" <td>231.749793</td>\n",
" <td>13.592241</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.013542</td>\n",
" <td>25.954066</td>\n",
" <td>157.685604</td>\n",
" <td>2.352204</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.001000</td>\n",
" <td>4.000000</td>\n",
" <td>0.000000</td>\n",
" <td>8.400000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.050000</td>\n",
" <td>21.000000</td>\n",
" <td>93.000000</td>\n",
" <td>12.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.056000</td>\n",
" <td>35.000000</td>\n",
" <td>205.000000</td>\n",
" <td>12.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.067000</td>\n",
" <td>64.000000</td>\n",
" <td>366.000000</td>\n",
" <td>16.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.128000</td>\n",
" <td>138.000000</td>\n",
" <td>557.000000</td>\n",
" <td>32.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" abv ibu brewery_id ounces\n",
"count 2348.000000 1405.000000 2410.000000 2410.000000\n",
"mean 0.059773 42.713167 231.749793 13.592241\n",
"std 0.013542 25.954066 157.685604 2.352204\n",
"min 0.001000 4.000000 0.000000 8.400000\n",
"25% 0.050000 21.000000 93.000000 12.000000\n",
"50% 0.056000 35.000000 205.000000 12.000000\n",
"75% 0.067000 64.000000 366.000000 16.000000\n",
"max 0.128000 138.000000 557.000000 32.000000"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_beers.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### styleの種類数を把握"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"99"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_beers['style'].nunique()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### styleごとの件数を把握"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"American IPA 424\n",
"American Pale Ale (APA) 245\n",
"American Amber / Red Ale 133\n",
"American Blonde Ale 108\n",
"American Double / Imperial IPA 105\n",
"Name: style, dtype: int64"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_beers['style'].value_counts().head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## データの特徴を掴む\n",
"\n",
"そのために、プロットしてみる"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 各データのばらつきを見る"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[<matplotlib.axes._subplots.AxesSubplot object at 0x119f9bf98>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x10d722278>],\n",
" [<matplotlib.axes._subplots.AxesSubplot object at 0x10d74e550>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x119fc87b8>]],\n",
" dtype=object)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/shimizukawa/bp/python-training-20180926-nri/.venv/lib/python3.7/site-packages/matplotlib/font_manager.py:1238: UserWarning: findfont: Font family ['IPAexGothic'] not found. Falling back to DejaVu Sans.\n",
" (prop.get_family(), self.defaultFamily[fontext]))\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df_beers.hist()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* abvは0.5付近に集中していることがわかる\n",
"* ibuは30くらいが多くて、100を超えるのはごく僅か\n",
"* オンス(量)はほとんどのビールが2種類の量に集中している"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 量の種類でカウント"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"12.0 1525\n",
"16.0 841\n",
"24.0 22\n",
"19.2 15\n",
"32.0 5\n",
"16.9 1\n",
"8.4 1\n",
"Name: ounces, dtype: int64"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_beers['ounces'].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 6割が12オンス(約350ml)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ABVとIBUの関係をプロット"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x11a103c50>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df_beers.plot(kind='scatter', x='abv', y='ibu')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 苦さ(高いIBU)を求めると、アルコール度数は高くなってしまう\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### いろんなグラフを一気に見る"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[<matplotlib.axes._subplots.AxesSubplot object at 0x11a103cc0>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11a413f28>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11a4424a8>],\n",
" [<matplotlib.axes._subplots.AxesSubplot object at 0x11a469a20>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11c64bf98>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11c67a550>],\n",
" [<matplotlib.axes._subplots.AxesSubplot object at 0x11c6a1ac8>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11c6d50b8>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x11c6d50f0>]],\n",
" dtype=object)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/shimizukawa/bp/python-training-20180926-nri/.venv/lib/python3.7/site-packages/matplotlib/font_manager.py:1238: UserWarning: findfont: Font family ['IPAexGothic'] not found. Falling back to DejaVu Sans.\n",
" (prop.get_family(), self.defaultFamily[fontext]))\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 9 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from pandas.plotting import scatter_matrix\n",
"scatter_matrix(df_beers[['abv', 'ibu', 'ounces']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### styleごとのabv, ibu"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 平均を計算"
]
},
{
"cell_type": "code",
"execution_count": 29,
"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>abv</th>\n",
" <th>ibu</th>\n",
" </tr>\n",
" <tr>\n",
" <th>style</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Abbey Single Ale</th>\n",
" <td>0.049000</td>\n",
" <td>22.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Altbier</th>\n",
" <td>0.054385</td>\n",
" <td>34.125000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>American Adjunct Lager</th>\n",
" <td>0.048722</td>\n",
" <td>11.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>American Amber / Red Ale</th>\n",
" <td>0.057456</td>\n",
" <td>36.298701</td>\n",
" </tr>\n",
" <tr>\n",
" <th>American Amber / Red Lager</th>\n",
" <td>0.049464</td>\n",
" <td>23.250000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" abv ibu\n",
"style \n",
"Abbey Single Ale 0.049000 22.000000\n",
"Altbier 0.054385 34.125000\n",
"American Adjunct Lager 0.048722 11.000000\n",
"American Amber / Red Ale 0.057456 36.298701\n",
"American Amber / Red Lager 0.049464 23.250000"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = df_beers.groupby(by='style')\n",
"g[['abv', 'ibu']].mean().head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 散布図をプロット"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x11ca39e80>"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"g[['abv', 'ibu']].mean().plot(kind='scatter', x='abv', y='ibu')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* やっぱり、苦さ(高いIBU)を求めると、アルコール度数は高くなってしまう\n",
"* アルコール度数が高いビールが常に苦いとは限らない"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## styleを特徴として処理できるようにダミー化する\n",
"\n",
"* ダミー化 = One Hot Encoding (OHE).\n",
"* 文字のままだと扱いづらいので、0/1で表現できるように展開したデータのこと"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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>style_Abbey Single Ale</th>\n",
" <th>style_Altbier</th>\n",
" <th>style_American Adjunct Lager</th>\n",
" <th>style_American Amber / Red Ale</th>\n",
" <th>style_American Amber / Red Lager</th>\n",
" <th>style_American Barleywine</th>\n",
" <th>style_American Black Ale</th>\n",
" <th>style_American Blonde Ale</th>\n",
" <th>style_American Brown Ale</th>\n",
" <th>style_American Dark Wheat Ale</th>\n",
" <th>...</th>\n",
" <th>style_Schwarzbier</th>\n",
" <th>style_Scotch Ale / Wee Heavy</th>\n",
" <th>style_Scottish Ale</th>\n",
" <th>style_Shandy</th>\n",
" <th>style_Smoked Beer</th>\n",
" <th>style_Tripel</th>\n",
" <th>style_Vienna Lager</th>\n",
" <th>style_Wheat Ale</th>\n",
" <th>style_Winter Warmer</th>\n",
" <th>style_Witbier</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1436</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2265</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2264</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2263</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2262</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 99 columns</p>\n",
"</div>"
],
"text/plain": [
" style_Abbey Single Ale style_Altbier style_American Adjunct Lager \\\n",
"id \n",
"1436 0 0 0 \n",
"2265 0 0 0 \n",
"2264 0 0 0 \n",
"2263 0 0 0 \n",
"2262 0 0 0 \n",
"\n",
" style_American Amber / Red Ale style_American Amber / Red Lager \\\n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
" style_American Barleywine style_American Black Ale \\\n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
" style_American Blonde Ale style_American Brown Ale \\\n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
" style_American Dark Wheat Ale ... style_Schwarzbier \\\n",
"id ... \n",
"1436 0 ... 0 \n",
"2265 0 ... 0 \n",
"2264 0 ... 0 \n",
"2263 0 ... 0 \n",
"2262 0 ... 0 \n",
"\n",
" style_Scotch Ale / Wee Heavy style_Scottish Ale style_Shandy \\\n",
"id \n",
"1436 0 0 0 \n",
"2265 0 0 0 \n",
"2264 0 0 0 \n",
"2263 0 0 0 \n",
"2262 0 0 0 \n",
"\n",
" style_Smoked Beer style_Tripel style_Vienna Lager style_Wheat Ale \\\n",
"id \n",
"1436 0 0 0 0 \n",
"2265 0 0 0 0 \n",
"2264 0 0 0 0 \n",
"2263 0 0 0 0 \n",
"2262 0 0 0 0 \n",
"\n",
" style_Winter Warmer style_Witbier \n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
"[5 rows x 99 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dummies = pd.get_dummies(df_beers['style'], prefix='style')\n",
"dummies.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"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>abv</th>\n",
" <th>ibu</th>\n",
" <th>name</th>\n",
" <th>style_Abbey Single Ale</th>\n",
" <th>style_Altbier</th>\n",
" <th>style_American Adjunct Lager</th>\n",
" <th>style_American Amber / Red Ale</th>\n",
" <th>style_American Amber / Red Lager</th>\n",
" <th>style_American Barleywine</th>\n",
" <th>style_American Black Ale</th>\n",
" <th>...</th>\n",
" <th>style_Schwarzbier</th>\n",
" <th>style_Scotch Ale / Wee Heavy</th>\n",
" <th>style_Scottish Ale</th>\n",
" <th>style_Shandy</th>\n",
" <th>style_Smoked Beer</th>\n",
" <th>style_Tripel</th>\n",
" <th>style_Vienna Lager</th>\n",
" <th>style_Wheat Ale</th>\n",
" <th>style_Winter Warmer</th>\n",
" <th>style_Witbier</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1436</th>\n",
" <td>0.050</td>\n",
" <td>NaN</td>\n",
" <td>Pub Beer</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2265</th>\n",
" <td>0.066</td>\n",
" <td>NaN</td>\n",
" <td>Devil's Cup</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2264</th>\n",
" <td>0.071</td>\n",
" <td>NaN</td>\n",
" <td>Rise of the Phoenix</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2263</th>\n",
" <td>0.090</td>\n",
" <td>NaN</td>\n",
" <td>Sinister</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2262</th>\n",
" <td>0.075</td>\n",
" <td>NaN</td>\n",
" <td>Sex and Candy</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 102 columns</p>\n",
"</div>"
],
"text/plain": [
" abv ibu name style_Abbey Single Ale style_Altbier \\\n",
"id \n",
"1436 0.050 NaN Pub Beer 0 0 \n",
"2265 0.066 NaN Devil's Cup 0 0 \n",
"2264 0.071 NaN Rise of the Phoenix 0 0 \n",
"2263 0.090 NaN Sinister 0 0 \n",
"2262 0.075 NaN Sex and Candy 0 0 \n",
"\n",
" style_American Adjunct Lager style_American Amber / Red Ale \\\n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
" style_American Amber / Red Lager style_American Barleywine \\\n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
" style_American Black Ale ... style_Schwarzbier \\\n",
"id ... \n",
"1436 0 ... 0 \n",
"2265 0 ... 0 \n",
"2264 0 ... 0 \n",
"2263 0 ... 0 \n",
"2262 0 ... 0 \n",
"\n",
" style_Scotch Ale / Wee Heavy style_Scottish Ale style_Shandy \\\n",
"id \n",
"1436 0 0 0 \n",
"2265 0 0 0 \n",
"2264 0 0 0 \n",
"2263 0 0 0 \n",
"2262 0 0 0 \n",
"\n",
" style_Smoked Beer style_Tripel style_Vienna Lager style_Wheat Ale \\\n",
"id \n",
"1436 0 0 0 0 \n",
"2265 0 0 0 0 \n",
"2264 0 0 0 0 \n",
"2263 0 0 0 0 \n",
"2262 0 0 0 0 \n",
"\n",
" style_Winter Warmer style_Witbier \n",
"id \n",
"1436 0 0 \n",
"2265 0 0 \n",
"2264 0 0 \n",
"2263 0 0 \n",
"2262 0 0 \n",
"\n",
"[5 rows x 102 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 元のbeersのデータにくっつける。横方向で連結するため、axis=1\n",
"df_beers2 = pd.concat([df_beers[['abv', 'ibu', 'name']] ,dummies], axis=1)\n",
"df_beers2.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ここで、このデータを使ってなにか面白いことはできないか?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 醸造所データ読み込み"
]
},
{
"cell_type": "code",
"execution_count": 12,
"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>name</th>\n",
" <th>city</th>\n",
" <th>state</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NorthGate Brewing</td>\n",
" <td>Minneapolis</td>\n",
" <td>MN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Against the Grain Brewery</td>\n",
" <td>Louisville</td>\n",
" <td>KY</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Jack's Abby Craft Lagers</td>\n",
" <td>Framingham</td>\n",
" <td>MA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Mike Hess Brewing Company</td>\n",
" <td>San Diego</td>\n",
" <td>CA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Fort Point Beer Company</td>\n",
" <td>San Francisco</td>\n",
" <td>CA</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name city state\n",
"0 NorthGate Brewing Minneapolis MN\n",
"1 Against the Grain Brewery Louisville KY\n",
"2 Jack's Abby Craft Lagers Framingham MA\n",
"3 Mike Hess Brewing Company San Diego CA\n",
"4 Fort Point Beer Company San Francisco CA"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_breweries = pd.read_csv('breweries.csv', index_col=0)\n",
"df_breweries.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ビールと醸造所を結合"
]
},
{
"cell_type": "code",
"execution_count": 13,
"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>abv</th>\n",
" <th>ibu</th>\n",
" <th>name</th>\n",
" <th>style</th>\n",
" <th>brewery_id</th>\n",
" <th>ounces</th>\n",
" <th>name_brewery</th>\n",
" <th>city</th>\n",
" <th>state</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1436</th>\n",
" <td>0.050</td>\n",
" <td>NaN</td>\n",
" <td>Pub Beer</td>\n",
" <td>American Pale Lager</td>\n",
" <td>408</td>\n",
" <td>12.0</td>\n",
" <td>10 Barrel Brewing Company</td>\n",
" <td>Bend</td>\n",
" <td>OR</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2265</th>\n",
" <td>0.066</td>\n",
" <td>NaN</td>\n",
" <td>Devil's Cup</td>\n",
" <td>American Pale Ale (APA)</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" <td>18th Street Brewery</td>\n",
" <td>Gary</td>\n",
" <td>IN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2264</th>\n",
" <td>0.071</td>\n",
" <td>NaN</td>\n",
" <td>Rise of the Phoenix</td>\n",
" <td>American IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" <td>18th Street Brewery</td>\n",
" <td>Gary</td>\n",
" <td>IN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2263</th>\n",
" <td>0.090</td>\n",
" <td>NaN</td>\n",
" <td>Sinister</td>\n",
" <td>American Double / Imperial IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" <td>18th Street Brewery</td>\n",
" <td>Gary</td>\n",
" <td>IN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2262</th>\n",
" <td>0.075</td>\n",
" <td>NaN</td>\n",
" <td>Sex and Candy</td>\n",
" <td>American IPA</td>\n",
" <td>177</td>\n",
" <td>12.0</td>\n",
" <td>18th Street Brewery</td>\n",
" <td>Gary</td>\n",
" <td>IN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" abv ibu name style \\\n",
"id \n",
"1436 0.050 NaN Pub Beer American Pale Lager \n",
"2265 0.066 NaN Devil's Cup American Pale Ale (APA) \n",
"2264 0.071 NaN Rise of the Phoenix American IPA \n",
"2263 0.090 NaN Sinister American Double / Imperial IPA \n",
"2262 0.075 NaN Sex and Candy American IPA \n",
"\n",
" brewery_id ounces name_brewery city state \n",
"id \n",
"1436 408 12.0 10 Barrel Brewing Company Bend OR \n",
"2265 177 12.0 18th Street Brewery Gary IN \n",
"2264 177 12.0 18th Street Brewery Gary IN \n",
"2263 177 12.0 18th Street Brewery Gary IN \n",
"2262 177 12.0 18th Street Brewery Gary IN "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df_beers.merge(\n",
" df_breweries, \n",
" left_on='brewery_id', # 左側はこの列を結合に使う\n",
" right_index=True, # 右側はindexを結合に使う\n",
" how='inner', # 左側のデータを全て活かして、右のデータを乗せる\n",
" suffixes=('', '_brewery') # name列がかぶってるので、brewery側にsuffixを付ける\n",
")\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 醸造所の特徴を見る"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"bg = df.groupby(by='name_brewery')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"うーん、醸造所データ無くても良いような気がしてきた..."
]
},
{
"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.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment