Skip to content

Instantly share code, notes, and snippets.

@swkm
Created May 20, 2017 10:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swkm/92eb3f4cea6be282f26dee33f2329fc2 to your computer and use it in GitHub Desktop.
Save swkm/92eb3f4cea6be282f26dee33f2329fc2 to your computer and use it in GitHub Desktop.
kaggleのタイタニック号生死データの年齢の度数分布表とヒストグラム
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib\n",
"import matplotlib.pyplot\n",
"import numpy\n",
"import pandas\n",
"import seaborn\n",
"import math\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"3 4 1 1 \n",
"4 5 0 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22.0 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n",
"2 Heikkinen, Miss. Laina female 26.0 0 \n",
"3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n",
"4 Allen, Mr. William Henry male 35.0 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked \n",
"0 0 A/5 21171 7.2500 NaN S \n",
"1 0 PC 17599 71.2833 C85 C \n",
"2 0 STON/O2. 3101282 7.9250 NaN S \n",
"3 0 113803 53.1000 C123 S \n",
"4 0 373450 8.0500 NaN S "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pandas.read_csv('train.csv')\n",
"df.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"observation:891, n:714, missing:177\n"
]
}
],
"source": [
"# 行数\n",
"observation = len(df)\n",
"n = df['Age'].count()\n",
"print('observation:{0}, n:{1}, missing:{2}'.format(observation, n, observation - n))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sturges' formula: 11\n",
"Square-root choice: 27\n"
]
}
],
"source": [
"# 階級数\n",
"print('Sturges\\' formula: {}'.format(math.ceil(1+math.log2(n))))\n",
"print('Square-root choice: {}'.format(math.ceil(math.sqrt(n))))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"max: 80\n",
"min: 0\n",
"range: 80\n"
]
}
],
"source": [
"# 最大値、最小値、レンジ\n",
"ma = math.ceil(numpy.max(df['Age']))\n",
"mi = math.floor(numpy.min(df['Age']))\n",
"r = ma - mi\n",
"print('max: {}'.format(ma))\n",
"print('min: {}'.format(mi))\n",
"print('range: {}'.format(r))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\"階級\",\"階級値\",\"度数\",\"相対度数\",\"累積度数\",\"累積相対度数\"\n",
"\"[0, 5)\",\"2.5\",\"40\",\"0.056\",\"40\",\"0.056\"\n",
"\"[5, 10)\",\"7.5\",\"22\",\"0.031\",\"62\",\"0.087\"\n",
"\"[10, 15)\",\"12.5\",\"16\",\"0.022\",\"78\",\"0.109\"\n",
"\"[15, 20)\",\"17.5\",\"86\",\"0.120\",\"164\",\"0.230\"\n",
"\"[20, 25)\",\"22.5\",\"114\",\"0.160\",\"278\",\"0.389\"\n",
"\"[25, 30)\",\"27.5\",\"106\",\"0.148\",\"384\",\"0.538\"\n",
"\"[30, 35)\",\"32.5\",\"95\",\"0.133\",\"479\",\"0.671\"\n",
"\"[35, 40)\",\"37.5\",\"72\",\"0.101\",\"551\",\"0.772\"\n",
"\"[40, 45)\",\"42.5\",\"48\",\"0.067\",\"599\",\"0.839\"\n",
"\"[45, 50)\",\"47.5\",\"41\",\"0.057\",\"640\",\"0.896\"\n",
"\"[50, 55)\",\"52.5\",\"32\",\"0.045\",\"672\",\"0.941\"\n",
"\"[55, 60)\",\"57.5\",\"16\",\"0.022\",\"688\",\"0.964\"\n",
"\"[60, 65)\",\"62.5\",\"15\",\"0.021\",\"703\",\"0.985\"\n",
"\"[65, 70)\",\"67.5\",\"4\",\"0.006\",\"707\",\"0.990\"\n",
"\"[70, 75)\",\"72.5\",\"6\",\"0.008\",\"713\",\"0.999\"\n",
"\"[75, 80)\",\"77.5\",\"0\",\"0.000\",\"713\",\"0.999\"\n",
"\"[80, 85)\",\"82.5\",\"1\",\"0.001\",\"714\",\"1.000\"\n",
"\"[85, 90)\",\"87.5\",\"0\",\"0.000\",\"714\",\"1.000\"\n"
]
}
],
"source": [
"# 度数分布表\n",
"c = pandas.cut(df['Age'], numpy.arange(0, 91, 5), right=False, include_lowest=True)\n",
"s = df['Age']\n",
"frequency = s.groupby(c).count()\n",
"total = frequency.sum()\n",
"print('\"階級\",\"階級値\",\"度数\",\"相対度数\",\"累積度数\",\"累積相対度数\"')\n",
"class_values = numpy.arange(2.5, 91, 5)\n",
"i = 0\n",
"cumulative_v = 0\n",
"for k,v in frequency.items():\n",
" cumulative_v += v\n",
" print('\"{0}\",\"{1}\",\"{2}\",\"{3:1.3f}\",\"{4}\",\"{5:1.3f}\"'.format(\n",
" k, class_values[i],\n",
" v, round(v/total,3),\n",
" cumulative_v, round(cumulative_v/total,3)))\n",
" i += 1"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x114c68748>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\npucGkiueZIoFEjeeceNGk52dw7hxNwDw6qsvc+edt/LCCy/RpUsn1+OZM2cGS5YsYtasJ1yrI1Gf\nm5qE4qlzxqMeERER8dywYSNYtOhNT+6TUlRUxPz5zzN8+Mh6r1uUiIiISBzo2LETF1xwMQ8/PLXe\n637yycc49tjj6NHj6HqvWzRZVURE4sR5511Q/vtpp53BaaedQWqq+9+Xhw4d7nodUjP1iIiIiIhn\nlIiIiIiIZ5SIiIi46KmnnuC2226M+XmXLVvC7bffVOfzzJw5nd69e9TqmJ9/3sjYsVeyYcOG8rKR\nI4fx5puv17k9NRkxYhijRl0Ws/PNmvUIffr8Lmbnq4tAIMCll15cZWn4yy+/lN69e1T7E277rFmP\n1LhP7949+PjjD70IqVY0R0RExCVr1nzHk0/OYe7cp2N+7qeffjIma0VEswbG+++/y4oVyyuUXXHF\nGEaPvpzu3Y8iO3vPy6nX1tix4wkEYncp/5ln/qn8Dr5e2rlzJ7fddiNffvl5lfZcffV4tm/fVqHs\np59+YsKEm+jffyBQfRylpbu48cZx7LdfS7p06eZuADGgRET2acFgoNqlpWPN708hK2vPt/OW5DJt\n2lROPPHUam/ElsiqW3/q4IMNXbp047HHZnLFFWNiXmf79h1iuvZGixb7VbmhXn37+OMPuf/+e9i0\naWO129u1a1/hcTAY5P77J3LwwYZRo5z/4+rimDp1Ejt2FDNhwkTS0tJcaXssKRGRfVrh1nwWrNhA\ny9wdrtazfdsWhmVnkpkZ+2+KEp++/XYVy5cvY9q0WeVlr776MnfddRsPPzyTKVMm8fXXlmbNmvHn\nP5/D4MHnl++3ffs2Zs16hGXLlvDzzz/Ttm1bzjnnL5x++pmA02X/0UfObe379PldjTc2u+OOW1i/\nfh0nn3wac+bMoKCggK5df8Pll19Fp04H19j2N974H0899QTff7+GzMwMevc+nksvHUmTJk3KFxrz\n+XycffaZnHrq6Vx7rTNEdPLJp3L33RO46KK/1XiTucsvv5QDD2xHy5atmD//eQoLCzjiiCO59tqb\nWL58GY8/PpvNmzfTrdtvGDfuBtq23R+A4cOH4vP5ypd3f++9FcyYMZ1vv11Namoqhx9+BMOHX86B\nB7YHYO3an5g6dRKffvoxJSUldOp0CBde+DeOOaYX4AxJzZkzg6VL3ytvV9u2B9C27QG88MKz5Ofn\n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\n0DSnBakNMggG3esRKSncRH7+dtfOH+ZMusugoKCYQCDoSh1bthSxY8dOiot3unL+sNLSXaSmQUlJ\nqbvPTUkpu4KpiqeW6iOe+opl585SAFffN/WpPv4O1KdkiieZYoFf46mreE9EjgMiv3JNBMqAsUB7\nYJwxJt1aGx6iORZYWttKgsEyVz8cAoEydu2qvxddIBB0rb5AIOj6/xdQfn636woGy0gpUzzR1BP+\n16266jsWN983XlA88SuZYomFuE5ErLU/Rj4O9YyUWWu/M8Z8D/wIzDHG3AacCfQALqr3hoqIiEhU\nEnbGjLU2CPTHGY55HzgPGGCt/cnThomIiMhei+sekcqstRdXevwt0Nej5oiIiEgdJWyPiIiIiCQ+\nJSIiIiLiGSUiIiIi4hklIiIiIuIZJSIiIiLiGSUiIiIi4hklIiIiIuIZJSIiIiLiGSUiIiIi4hkl\nIiIiIuIZJSIiIiLiGSUiIiIi4hklIiIiIuIZJSIiIiLimVSvGyAi4qVgMMD69evJyCgiEAi6WlfL\nlq3w+/2u1iGSaJSIiMg+rXBrPvPe2kROs1YEg2Wu1bOtIJ9BJx1O69ZtXKtDJBEpERGRfV6TrGxy\nmrubiIhI9TRHRERERDyjREREREQ8o0REREREPKNERERERDyjREREREQ8o0REREREPKNERERERDyj\nREREREQ8o0REREREPKNERERERDyjREREREQ8o0REREREPKNERERERDyjREREREQ8o0REREREPKNE\nRERERDyjREREREQ8o0REREREPKNERERERDyjREREREQ8o0REREREPKNERERERDyT6nUD9sQY0waY\nAvQFioBngPHW2p3GmPbAo8AxwBrgKmvtQo+aKiIiIrUU94kI8DywGegFNAdmA7uAa4AXgY+AI4E/\nAfOMMZ2ttT951NZqBYMB1q9f53o9fn8KWVkdXa9HREQkVuI6ETHGGOB3QCtr7aZQ2Y3APcaY14AO\nQE9r7Q7gLmNMP2AIcKtXba5OYcEWnlv4EY2zclytZ/u2LQzLziQzM9vVekRERGIlrhMRYANwajgJ\nidAUOBpYGUpCwpbhDNPEncZZOeQ0b+VqHSkpPlfPLyIiEmtxnYhYa7cC5XM+jDE+YCTwBtAaqDze\nkQe0rbcGioiISJ0k2lUz9wBHANcBmUBJpe0lQHp9N0pERESiE9c9IpGMMXcDo4CzrbVfGGN2AM0q\n7ZaOc2VNrbg9pOH3+0hJ8bleT/j8fr97+aXfn1KvsdRHPT6f4ommnsh/3aojWWIJn9/vTyE11d3v\nf+H3v5t/B+pTMsWTTLFA7OJIiETEGDMVuBT4i7V2fqh4LdC10q65wPranj89vUHdGrjH86fRsGEa\nGRlprtZTvN2JIysrw7U6iooy6yWWBg2cl6b7z00DUtNSFU8t1Uc8yRQLQHHDNLKzM8nJaeRqPWFu\n/h3wQjLFk0yxxELcJyLGmJuAYcA51tp5EZtWANcYY9KtteEhmmOBpbWto6SklGCwrO6NrfH8O9mx\nYyfFxTtdqwNg585SAAoKigkEgq7UsWVLUb3EUlq6i9S0+nhuStkVTFU8tVQf8SRTLAA7duxky5Yi\nMjO3u1YHhC/jz3D170B9SqZ4kikW+DWeuorrRMQY0wW4HrgDWG6MibzsZDHwIzDHGHMbcCbQA7io\ntvUEg2Wu/gEKBMpcrwMoP38gEGTXLnde5IFAsF5jcbuuYLCMlDLFE0094X/dqiuZYgmf3833ZmX1\nWVd9SKZ4kimWWIj3gaozcdp4Pc4VMutwhl7WWWuDwACc4Zj3gfOAAfG2mJmIiIjULK57RKy1dwN3\n72b7apyl30VERCQBxXuPiIiIiCQxJSIiIiLiGSUiIiIi4hklIiIiIuKZuJ6sKrUTDAZYv349GRlF\nrl2jnpeXR5m7V1OKJKVgMEBeXp7r9ThrO3R0vR6RWFEikkQKt+Yz761N5DRr5dp6COt+XE3TZrlV\n1tYXkd0r3JrPghUbaJm7Y88718H2bVsYlp1JZma2q/WIxIoSkSTTJCubnObuJSJb8ze5cl6RfUGj\nJs77001u3zNHJNaUiIiIJJH6GKINa9myFX6/39U6JPkpERERSSL1MUQLsK0gn0EnHU7r1m1cq0P2\nDUpERESSjNtDtCKxpMt3RURExDNKRERERMQzSkRERETEM0pERERExDNKRERERMQzSkRERETEM0pE\nRERExDNKRERERMQzSkRERETEM0pERERExDNKRERERMQzSkRERETEM0pERERExDNKRERERMQzSkRE\nRETEM0pERERExDNKRERERMQzSkRERETEM0pERERExDNKRERERMQzqV43QEREpCaBQIC1a9eyZUsR\ngUDQtXpatmyF3+937fxSMyUiIiISt/Ly8nhx8WekpTcmGCxzpY5tBfkMOulwWrdu48r5ZfeUiIiI\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114c93f28>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"matplotlib.pyplot.title('Histgram')\n",
"matplotlib.pyplot.xlabel('Age')\n",
"matplotlib.pyplot.annotate(\n",
" '(plot) n={0}\\n(not plot) missing={1}'.format(total,observation-total), xy=(0.95, 0.85), xycoords='axes fraction', fontsize=12,\n",
" horizontalalignment='right', verticalalignment='bottom')\n",
"s.plot(bins=numpy.arange(0, 91, 5), alpha=0.5, kind='hist', label='Age')"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment