{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Single Player Multi-game Analysis\n", "\n", "Look at a player's scoring over a range of games." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preliminaries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import sqlite3\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "DBFILE = 'CarcassonneScore-sample.db'" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "timefmt = \"%Y-%m-%dT%H:%M:%S\"" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "conn = sqlite3.connect(DBFILE)\n", "cur = conn.cursor()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "playerID = 1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# set up a dtype for storing data\n", "pinfodtype = [('gameID', float),\n", " ('score', float)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get General Information" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "pname = cur.execute('SELECT name FROM players WHERE playerID={0:1.0f}'.format(playerID)).fetchall()[0][0]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "scoretypes = [x[0] for x in cur.execute('SELECT DISTINCT scoretype FROM scores WHERE playerID={0:1.0f}'.format(playerID)).fetchall()]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "for stype in scoretypes:\n", " pinfodtype.append(('N' + stype, float))\n", " pinfodtype.append(('Score' + stype, float))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "pinfo = np.zeros(1, dtype=pinfodtype)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Get a list of relevant games" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "gameIDs = [x[0] for x in cur.execute('SELECT DISTINCT gameID FROM turns WHERE playerID={0:1.0f} ORDER By gameID'.format(playerID)).fetchall()]\n", "for gameID in gameIDs:\n", " curgame = np.zeros(1, dtype=pinfodtype)\n", " curgame['gameID'] = gameID\n", " scores = cur.execute('SELECT points,scoretype FROM scores WHERE gameID={0:1.0f} AND playerID={1:1.0f}'.format(gameID, playerID)).fetchall()\n", " scores = np.array(scores,\n", " dtype=[('points', float), \n", " ('type', 'S20')])\n", " for stype in scoretypes:\n", " tscores = scores[scores['type']==stype.encode()]\n", " curgame['N' + stype] = len(tscores)\n", " curgame['Score' + stype] = np.nansum(tscores['points'])\n", " pinfo = np.vstack((pinfo, curgame))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# remove bogus first entry\n", "pinfo = pinfo[1:]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Scoring Habits for Jane Doe')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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QRv+03w7fkBERGqRRAJCV4JxAv8ws+8DhyW3SCIikg6JBISLgPPd/R5gK1DemIGUq/HkdsCMZTM44dET6H1/b0549ARmLKv5COXZs2fTv39/OnfuzPbt23d5bcyYMXTs2LF0/EGybNq0ifvuuy+p+xCR7JLI5HaJBIRvgKPN7BJgH2BTNMWrmdjkdrm5ubu1/YxlM8ibm0fh1kIcp3BrIXlz82ocFI4++mj69+9P+/btd/niLyoqYt68eXTs2JHzzz+/RvuoigKCiJSVm5sbG4tQo8ntphJcR9gL+A9wNcE8Qxlt0rxJfLDxgwpfX1y0mO3f7PoLvmRnCeNfHc+jHz1a7jY9WvVgTL8xCe1//PjxDBs2jPPOO4/GjRtzyy23MGzYMCZNmgTAE088wXPPPce+++7L0qVLueGGG3jnnXf44x//yFFHHUWjRo14/fXXSyfDe/3117nppps4/PDDeeutt5g4cSL77bcfjz32GM8//zxdunRh/vz5PPzww+Tn57NixQry8vI46aST6NmzJyNHjqR79+6sXr2aU089lRNPPJExY8bw4IMPMmTIEP73v/8B8NFHH3HUUUdx7733cv/993PHHXfwz3/+ky5duiR03CKSvRIJCCvcfbKZjXH3ZWa2JumlSoGywaCq9Oo6+OCDOeKII8jPz+fMM8+kfv36xEZWf/7551x44YUsW7aMRo0aMWnSJCZMmMB1113HaaedxrZt25gwYQKPPPII999/P3379qVZs2ZMmDCB/fffn8cee4ybb76ZyZMn88ADD3D66adz7rnnMnfuXCAYtT137lzy8vIAGDduHAcccADjxo3jq6++okePHixdupRJkyYxbdo0LrroIi677DLefvttFi5cSGzAX/369bn++usVDETqiEQCQtdwziE3s3pA+ySXKRJV/ZI/4dETKNxa+J30Ds06cO9J90ZShiuvvJITTzyRTz75hDFjxvDOO+8AsGTJElq1akWjRo2AYObTe+65p3S7Aw88EIC2bdvyxRdfANCkSRNuueUW2rRpw/Lly0uvT9x4441MmDCBm2++mZNPPpkjjjjiO+VYvHgxrVu3ZuLEYAbYXr16sXHjRtq1a0f79u3Za6+9ADj00EPp0aMH11xzDcXFxbzyyiucc845kdSFiGS+RK4hPAssB0YAH4XLWW/E4SPIqb/rLS1z6ucw4vAR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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(2, 1,\n", " sharex=True, sharey=False)\n", "for stype in scoretypes:\n", " ax[0].plot(pinfo['gameID'],\n", " pinfo['N' + stype],\n", " marker='o',\n", " label=stype)\n", " ax[1].plot(pinfo['gameID'],\n", " pinfo['Score' + stype],\n", " marker='o',\n", " label=stype)\n", "\n", "fig.subplots_adjust(hspace=0)\n", "ax[0].set_ylabel('N Scores')\n", "ax[1].set_ylabel('Points per Type')\n", "ax[1].set_xlabel('Game Number')\n", "ax[0].legend(loc='best')\n", "ax[0].minorticks_on()\n", "ax[1].minorticks_on()\n", "ylim = ax[0].get_ylim()\n", "ax[0].set_ylim([0, ylim[1]])\n", "ylim = ax[1].get_ylim()\n", "ax[1].set_ylim([0, ylim[1]])\n", "xlim = ax[0].get_xlim()\n", "ax[0].set_xlim(-1, xlim[1]*1.5)\n", "ax[0].set_title('Scoring Habits for ' + pname)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Close things up" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "conn.close()" ] }, { "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }