{ "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 = 0" ] }, { "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}'.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,'Scoring Habits for John Smith')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nkuH+H3yi/QgeYxxpAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }