Created
June 25, 2013 19:16
-
-
Save wesm/5861474 to your computer and use it in GitHub Desktop.
pandas git stats
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "GitStats" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "GitHub Analytics (For Fun and Profit)\n", | |
| "===" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import pandas as pd\n", | |
| "import json" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "closed_issues = json.load(open('github/closed.json'))\n", | |
| "open_issues = json.load(open('github/open.json'))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "closed_issues[0].keys()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 4, | |
| "text": [ | |
| "[u'body',\n", | |
| " u'events_url',\n", | |
| " u'title',\n", | |
| " u'url',\n", | |
| " u'labels_url',\n", | |
| " u'created_at',\n", | |
| " u'labels',\n", | |
| " u'comments_url',\n", | |
| " u'html_url',\n", | |
| " u'comments',\n", | |
| " u'number',\n", | |
| " u'updated_at',\n", | |
| " u'assignee',\n", | |
| " u'state',\n", | |
| " u'user',\n", | |
| " u'milestone',\n", | |
| " u'closed_at',\n", | |
| " u'pull_request',\n", | |
| " u'id']" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "open_issues[0]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 5, | |
| "text": [ | |
| "{u'assignee': None,\n", | |
| " u'body': u'I feel having such a feature would help people get better at Pandas, learn some advanced skills and better ways to do things, from people who have more experience with it. Maybe sort of a community blog or twitter feed. As an end user i feel it would be appreciated.',\n", | |
| " u'closed_at': None,\n", | |
| " u'comments': [],\n", | |
| " u'comments_url': u'https://api.github.com/repos/pydata/pandas/issues/3883/comments',\n", | |
| " u'created_at': u'2013-06-13T12:03:06Z',\n", | |
| " u'events_url': u'https://api.github.com/repos/pydata/pandas/issues/3883/events',\n", | |
| " u'html_url': u'https://github.com/pydata/pandas/issues/3883',\n", | |
| " u'id': 15501451,\n", | |
| " u'labels': [],\n", | |
| " u'labels_url': u'https://api.github.com/repos/pydata/pandas/issues/3883/labels{/name}',\n", | |
| " u'milestone': None,\n", | |
| " u'number': 3883,\n", | |
| " u'pull_request': {u'diff_url': None, u'html_url': None, u'patch_url': None},\n", | |
| " u'state': u'open',\n", | |
| " u'title': u'Feature Request: Pandas Tip of the Day',\n", | |
| " u'updated_at': u'2013-06-13T12:03:06Z',\n", | |
| " u'url': u'https://api.github.com/repos/pydata/pandas/issues/3883',\n", | |
| " u'user': {u'avatar_url': u'https://secure.gravatar.com/avatar/d2f3703551edb49da47d9a3b637cf71f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png',\n", | |
| " u'events_url': u'https://api.github.com/users/nipunreddevil/events{/privacy}',\n", | |
| " u'followers_url': u'https://api.github.com/users/nipunreddevil/followers',\n", | |
| " u'following_url': u'https://api.github.com/users/nipunreddevil/following{/other_user}',\n", | |
| " u'gists_url': u'https://api.github.com/users/nipunreddevil/gists{/gist_id}',\n", | |
| " u'gravatar_id': u'd2f3703551edb49da47d9a3b637cf71f',\n", | |
| " u'html_url': u'https://github.com/nipunreddevil',\n", | |
| " u'id': 60985,\n", | |
| " u'login': u'nipunreddevil',\n", | |
| " u'organizations_url': u'https://api.github.com/users/nipunreddevil/orgs',\n", | |
| " u'received_events_url': u'https://api.github.com/users/nipunreddevil/received_events',\n", | |
| " u'repos_url': u'https://api.github.com/users/nipunreddevil/repos',\n", | |
| " u'starred_url': u'https://api.github.com/users/nipunreddevil/starred{/owner}{/repo}',\n", | |
| " u'subscriptions_url': u'https://api.github.com/users/nipunreddevil/subscriptions',\n", | |
| " u'type': u'User',\n", | |
| " u'url': u'https://api.github.com/users/nipunreddevil'}}" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issue = closed_issues[0]\n", | |
| "issue.keys()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 6, | |
| "text": [ | |
| "[u'body',\n", | |
| " u'events_url',\n", | |
| " u'title',\n", | |
| " u'url',\n", | |
| " u'labels_url',\n", | |
| " u'created_at',\n", | |
| " u'labels',\n", | |
| " u'comments_url',\n", | |
| " u'html_url',\n", | |
| " u'comments',\n", | |
| " u'number',\n", | |
| " u'updated_at',\n", | |
| " u'assignee',\n", | |
| " u'state',\n", | |
| " u'user',\n", | |
| " u'milestone',\n", | |
| " u'closed_at',\n", | |
| " u'pull_request',\n", | |
| " u'id']" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issue['created_at']" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 7, | |
| "text": [ | |
| "u'2013-06-12T18:31:16Z'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.Timestamp(issue['created_at'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 8, | |
| "text": [ | |
| "<Timestamp: 2013-06-12 18:31:16+0000 UTC, tz=UTC>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.Timestamp(closed_issues[0]['created_at'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 9, | |
| "text": [ | |
| "<Timestamp: 2013-06-12 18:31:16+0000 UTC, tz=UTC>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 9 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.options.display.line_width = 300" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 14 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issue_meta = ['title', 'created_at', 'labels', 'closed_at', 'user', 'id']\n", | |
| "\n", | |
| "iclosed = pd.DataFrame(closed_issues, columns=issue_meta)\n", | |
| "def get_login(x):\n", | |
| " return x['login']\n", | |
| "\n", | |
| "iclosed['user'] = iclosed.user.map(get_login)\n", | |
| "iclosed.user\n", | |
| "#iclosed.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 15, | |
| "text": [ | |
| "0 cpcloud\n", | |
| "1 gliptak\n", | |
| "2 jreback\n", | |
| "3 hayd\n", | |
| "4 gliptak\n", | |
| "5 jtratner\n", | |
| "6 agconti\n", | |
| "7 cbockman\n", | |
| "8 jsudheer\n", | |
| "9 cpcloud\n", | |
| "10 jreback\n", | |
| "11 hayd\n", | |
| "12 nipunreddevil\n", | |
| "13 nipunreddevil\n", | |
| "14 hayd\n", | |
| "...\n", | |
| "3217 wesm\n", | |
| "3218 wesm\n", | |
| "3219 surbas\n", | |
| "3220 hector13\n", | |
| "3221 wesm\n", | |
| "3222 wesm\n", | |
| "3223 wesm\n", | |
| "3224 andylei\n", | |
| "3225 andylei\n", | |
| "3226 wesm\n", | |
| "3227 wesm\n", | |
| "3228 wesm\n", | |
| "3229 wesm\n", | |
| "3230 wesm\n", | |
| "3231 wesm\n", | |
| "Name: user, Length: 3232, dtype: object" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 15 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed.groupby('user').size().order(ascending=False)[:10].plot(kind='barh')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 16, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10d241d50>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nHkKgosZzqi8iIn2pbaniIQQq4t8TRETqYnclERF5LRY5IiLyWixyKvjkk0/Qu3dv9OjRA/Pnz1ft\ndSdMmICOHTvCbDa778vNzUVMTAx69uyJe++9t9KU4VdeeQU9evRA7969sX379gbJdOrUKQwaNAiB\ngYEwmUx48803dZGrpKQEkZGRsFgsCAgIwLPPPquLXABQVlaGkJAQ95Xotc5kNBoRFBSEkJAQRERE\n6CJTXl4eHnzwQfTp0wcBAQH46quvNM303XffISQkxL20bdsWb775puafk+t1AgMDYTabMXr0aPz+\n+++a51q0aBHMZjNMJhMWLVoEoB5/p4QalNPplO7du0tWVpaUlpZKcHCwHDt2TJXX3rVrlxw+fFhM\nJpP7vpkzZ8r8+fNFRGTevHkya9YsERE5evSoBAcHS2lpqWRlZUn37t2lrKys3jOdOXNG0tLSRESk\noKBAevbsKceOHdM8l4hIUVGRiIhcunRJIiMjZffu3brI9frrr8vo0aMlLi5ORLT/Do1Go+Tk5FS6\nT+tM48aNk2XLlonI5e8vLy9P80wuZWVl0qlTJzl58qTmmbKysqRr165SUlIiIiIJCQlis9k0zZWZ\nmSkmk0mKi4vF6XTK4MGD5cSJE/WWiUWuge3bt0+GDBnibr/yyivyyiuvqPb6WVlZlYpcr1695Jdf\nfhGRywWnV69eIiIyd+5cmTdvnnu9IUOGyBdffNHg+eLj42XHjh26ylVUVCTh4eHy9ddfa57r1KlT\ncs8990hKSorExsaKiPbfodFolHPnzlW6T8tMeXl50rVr1yr3a/05uXz66afSv39/XWTKycmRnj17\nSm5urly6dEliY2Nl+/btmuZav369TJw40d1+6aWXZP78+fWWid2VDez06dO47bbb3O1bb70Vp0+f\n1izP2bNn0bFjRwBAx44dcfbsWQBAdnY2br31Vvd6auR0OBxIS0tDZGSkLnKVl5fDYrGgY8eO7i5V\nrXM99dRTWLBgAZo1+/c/Va0zGQwGDB48GOHh4Vi6dKnmmbKystChQweMHz8eoaGhmDRpEoqKijT/\nnFzWrl2LxMREANp/d+3atcOMGTPQpUsXdO7cGX5+foiJidE0l8lkwu7du5Gbm4uLFy/i448/xs8/\n/1xvmVjkGpiej40zGAx/mK8hsxcWFmLkyJFYtGgRfH19dZGrWbNmSE9Px88//4xdu3YhNTVV01wf\nffQRbrrpJoSEhFR7+IkWn9XevXuRlpaGbdu24a233sLu3bs1zeR0OnH48GE88cQTOHz4MFq3bo15\n8+ZpmsmltLQUW7ZswahRozy+ptqZfvjhByxcuBAOhwPZ2dkoLCzEO++8o2mu3r17Y9asWbj33nsx\ndOhQWCwWNG/evN4yscg1sFtuuQWnTp1yt0+dOlXprxC1dezYEb/88gsA4MyZM7jpppsAVM35888/\n45ZbbmmQDJcuXcLIkSMxduxYPPDAA7rJ5dK2bVvcf//9OHTokKa59u3bh82bN6Nr165ITExESkoK\nxo4dq/lndfPNNwMAOnTogOHDh2P//v2aZrr11ltx66234s477wQAPPjggzh8+DA6deqk+e/Utm3b\nEBYWhg4dOgDQ/vf84MGD6NevH9q3b48WLVpgxIgR+OKLLzT/rCZMmICDBw9i586d8Pf3R8+ePevt\ns2KRa2Dh4eE4fvw4HA4HSktLsW7dOgwbNkyzPMOGDcPKlSsBACtXrnQXmWHDhmHt2rUoLS1FVlYW\njh8/7p45V59EBBMnTkRAQACmT5+um1znzp1zz94qLi7Gjh07EBISommuuXPn4tSpU8jKysLatWtx\n9913Y/Xq1ZpmunjxIgoKCgAARUVF2L59O8xms6aZOnXqhNtuuw3ff/89AOCzzz5DYGAg4uLiNP2d\nAoD33nvP3VXpem0tM/Xu3RtffvkliouLISL47LPPEBAQoPln9euvvwIATp48iY0bN2L06NH191nV\n6wgiefTxxx9Lz549pXv37jJ37lzVXvfPf/6z3HzzzdKyZUu59dZbZfny5ZKTkyP33HOP9OjRQ2Ji\nYuT8+fPu9V9++WXp3r279OrVSz755JMGybR7924xGAwSHBwsFotFLBaLbNu2TfNcR44ckZCQEAkO\nDhaz2SyvvvqqiIjmuVzsdrt7dqWWmX788UcJDg6W4OBgCQwMdP8+a/05paenS3h4uAQFBcnw4cMl\nLy9P80yFhYXSvn17yc/Pd9+ndSYRkfnz50tAQICYTCYZN26clJaWap4rOjpaAgICJDg4WFJSUkSk\n/j4rnruSiIi8FrsriYjIa7HIERGR12KRIyIir8UiR0REXotFjoiIvBaLHBERea3/B/sznEIU42OI\nAAAAAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x106bb4150>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 16 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed.groupby('user').size().order(ascending=False)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 17, | |
| "text": [ | |
| "user\n", | |
| "wesm 845\n", | |
| "jreback 275\n", | |
| "changhiskhan 214\n", | |
| "y-p 194\n", | |
| "lodagro 97\n", | |
| "cpcloud 78\n", | |
| "adamklein 66\n", | |
| "jseabold 63\n", | |
| "hayd 39\n", | |
| "timmie 35\n", | |
| "gerigk 33\n", | |
| "stephenwlin 26\n", | |
| "cswegger 26\n", | |
| "dieterv77 25\n", | |
| "dalejung 25\n", | |
| "...\n", | |
| "LionelR 1\n", | |
| "Liam3851 1\n", | |
| "JoeGermuska 1\n", | |
| "JasonR055 1\n", | |
| "JWCornV 1\n", | |
| "Honghe 1\n", | |
| "GlenHertz 1\n", | |
| "FedericoV 1\n", | |
| "CerebralMastication 1\n", | |
| "Cd48 1\n", | |
| "BrenBarn 1\n", | |
| "Bklyn 1\n", | |
| "Anaphory 1\n", | |
| "Altons 1\n", | |
| "Aico 1\n", | |
| "Length: 523, dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 17 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "\n", | |
| "iclosed = pd.DataFrame(closed_issues, columns=issue_meta)\n", | |
| "#iclosed.user = iclosed.user.map(lambda x: x['login'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 18 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 18 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "all_comments = []\n", | |
| "observed_ids = set()\n", | |
| "for issue in closed_issues:\n", | |
| " if issue['id'] in observed_ids:\n", | |
| " continue\n", | |
| " else:\n", | |
| " observed_ids.add(issue['id'])\n", | |
| " for comment in issue['comments']:\n", | |
| " comment['id'] = issue['id']\n", | |
| " all_comments.append(comment)\n", | |
| "\n", | |
| " \n", | |
| "all_comments = pd.DataFrame(all_comments) \n", | |
| " " | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 19 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def convert_timestamp(x):\n", | |
| " return pd.Timestamp(int(x) * 1000000)\n", | |
| "\n", | |
| "all_comments.created = all_comments.created.map(convert_timestamp)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 20 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "#iclosed = iclosed[-iclosed.id.duplicated()]\n", | |
| "iclosed = iclosed.drop_duplicates(['id'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 21 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "all_comments.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>author</th>\n", | |
| " <th>created</th>\n", | |
| " <th>id</th>\n", | |
| " <th>text</th>\n", | |
| " <th>updated</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td>2013-06-12 17:37:27</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> nothing except cython and numpy are getting in...</td>\n", | |
| " <td> 1371058709000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td>2013-06-12 17:44:49</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> @cpcloud Phillip, would you have an example o...</td>\n", | |
| " <td> 1371059089000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td>2013-06-12 17:49:09</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> sure. the &quot;generally accepted&quot; way t...</td>\n", | |
| " <td> 1371059467000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td>2013-06-12 21:47:09</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> Thanks @cpcloud, I made this change.</td>\n", | |
| " <td> 1371073629000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td>2013-06-12 17:56:16</td>\n", | |
| " <td> 15430880</td>\n", | |
| " <td> that should be removed from travis since there...</td>\n", | |
| " <td> 1371059776000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 22, | |
| "text": [ | |
| " author created id text updated\n", | |
| "0 cpcloud 2013-06-12 17:37:27 15453336 nothing except cython and numpy are getting in... 1371058709000\n", | |
| "1 gliptak 2013-06-12 17:44:49 15453336 @cpcloud Phillip, would you have an example o... 1371059089000\n", | |
| "2 cpcloud 2013-06-12 17:49:09 15453336 sure. the "generally accepted" way t... 1371059467000\n", | |
| "3 gliptak 2013-06-12 21:47:09 15453336 Thanks @cpcloud, I made this change. 1371073629000\n", | |
| "4 cpcloud 2013-06-12 17:56:16 15430880 that should be removed from travis since there... 1371059776000" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 22 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.to_datetime('11/10/2013', format='%d/%m/%Y')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 23, | |
| "text": [ | |
| "datetime.datetime(2013, 11, 10, 0, 0)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 23 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "merged = pd.merge(all_comments, iclosed, on='id')\n", | |
| "merged['created_at'] = pd.to_datetime(merged.created_at)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 24 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 24 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 24 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def delta_to_minutes(x):\n", | |
| " return x.view(np.int64) / (1e9 * 60)\n", | |
| "\n", | |
| "time_since_issue_opened = merged.created - merged.created_at\n", | |
| "minutes_elapsed = time_since_issue_opened.map(delta_to_minutes)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 25 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "min_response_time = minutes_elapsed.groupby(merged.id).min()\n", | |
| "ts = pd.Series(merged.id.values, merged.created_at)\n", | |
| "ts.map(min_response_time).sort_index().resample('M', how='mean')['2011-07':].plot()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 26, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10d2e1090>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\n7O4iCGEXX667gwbBww/D55/D5s3QsyfMmaO/CObP1z2TGvsi8Ijgv337dgYMGEBoaCj+/v7cdNNN\nrF+/3iHHbk1XMHfs645z7t271+Xn9JXfbWv2lXM2zd6629bqQng4PPIIfPGFnishMFC/ldy3b8P7\neETwt1gs9OnTx7ZsNBqxWCwOOXZb+0d2xr6tuXX2puuUutD2zmlv3W3LdWHwYD0RzZdfwqZNDW/n\nEQ9816xZQ3Z2Nq+88goAK1euJC8vjxdeeMG2jcGdc7sJIYQXqy/Me8RkLiEhIRQVFdmWi4qKMJ41\ng4IHfEcJIUSb4RFpn8suuwyz2czevXupqqpi9erVJCQkuLtYQgjRZnlEy9/Pz48XX3yRsWPHcvr0\naVJSUhg8eLC7iyWEEG2WR7T8AcaPH893333Hnj17ePDBB+ncuXOj248cOZIdO3a4qHTnKi4uZvLk\nyQwcOJABAwZw7733curUqQa3/9vf/kZlZaULS1i/pn6vnmLdunW0a9eO7zxpctdmkrrreN5Sb8F7\n6q7HBP+zNfWA12AwuO0hsFKK3/72t/z2t79l9+7d7N69m2PHjvHQQw81uM/SpUs5fvy4C0tZP295\ncL5q1SomTZrEqlWrWrRfTXPfcHEiqbuO5y31Fryo7ioP1blzZ5Wbm6smTZpkW/e73/1OLV++XCml\n1MiRI9WOHTvcUrb3339fXXPNNWesO3r0qAoMDFS//PKLWrhwoYqMjFRDhw5VL7zwgnr++efVeeed\np6KiotR1113nljJbde7cWR07dkzFx8erSy65REVFRan169crpZQqLCxU4eHh6o477lBDhgxRY8aM\nUZWVlS4vY0VFherXr5/at2+fCg8PV0oplZOTo66++mo1ceJENWjQIHX33XermpoapZRSF1xwgVq4\ncKEaNmyY+uijj1xe3rNJ3XU8b6i3SnlX3fXYln993Nliquvrr7/m0ksvPWNdly5d6Nu3L//617/Y\nt28fn3/+OZ9//jm33HIL8+bN46KLLiI3N5fNmze7qdS/Ov/881m7di07duzggw8+YOHChbbP9uzZ\nw9y5c/nqq68ICAhgzZo1Li/f+vXrGTduHH379qVnz5589tlnAHz66ae8+OKLFBQU8P333/NW7cSq\nx48fJy4ujl27dnHllVe6vLzNIXW39Ty93oJ31V2vCv6eoqE/YqUUubm53H333bSrHbije/furixa\n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\nBB2V4gAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10d31c990>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 26 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "all_comments = []\n", | |
| "for issue in closed_issues:\n", | |
| " for c in issue['comments']:\n", | |
| " c['id'] = issue['id']\n", | |
| " all_comments.append(c)\n", | |
| " \n", | |
| "ccomments = pd.DataFrame(all_comments, columns=['author', 'text', 'id'])\n", | |
| "ccomments" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 8879 entries, 0 to 8878\n", | |
| "Data columns (total 3 columns):\n", | |
| "author 8879 non-null values\n", | |
| "text 8879 non-null values\n", | |
| "id 8879 non-null values\n", | |
| "dtypes: int64(1), object(2)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 27, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 8879 entries, 0 to 8878\n", | |
| "Data columns (total 3 columns):\n", | |
| "author 8879 non-null values\n", | |
| "text 8879 non-null values\n", | |
| "id 8879 non-null values\n", | |
| "dtypes: int64(1), object(2)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 27 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed['closed'] = True" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 28 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed.id.duplicated()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 29, | |
| "text": [ | |
| "0 False\n", | |
| "1 False\n", | |
| "2 False\n", | |
| "3 False\n", | |
| "4 False\n", | |
| "5 False\n", | |
| "6 False\n", | |
| "7 False\n", | |
| "8 False\n", | |
| "9 False\n", | |
| "10 False\n", | |
| "11 False\n", | |
| "12 False\n", | |
| "13 False\n", | |
| "14 False\n", | |
| "...\n", | |
| "3217 False\n", | |
| "3218 False\n", | |
| "3219 False\n", | |
| "3220 False\n", | |
| "3221 False\n", | |
| "3222 False\n", | |
| "3223 False\n", | |
| "3224 False\n", | |
| "3225 False\n", | |
| "3226 False\n", | |
| "3227 False\n", | |
| "3228 False\n", | |
| "3229 False\n", | |
| "3230 False\n", | |
| "3231 False\n", | |
| "Name: id, Length: 3232, dtype: bool" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 29 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed[-iclosed.id.duplicated()]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 30, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 30 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 31, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 31 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "iclosed.drop_duplicates(['id'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 32, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3232 entries, 0 to 3231\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3232 non-null values\n", | |
| "created_at 3232 non-null values\n", | |
| "labels 3232 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3232 non-null values\n", | |
| "id 3232 non-null values\n", | |
| "closed 3232 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 32 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def wrangle_issues(blob, closed=False):\n", | |
| " issue_meta = ['title', 'created_at', 'labels', 'closed_at', 'user', 'id']\n", | |
| "\n", | |
| " issue_meta = pd.DataFrame(blob, columns=issue_meta)\n", | |
| " \n", | |
| " issue_meta = issue_meta.drop_duplicates(['id'])\n", | |
| " \n", | |
| " issue_meta['closed'] = closed\n", | |
| " \n", | |
| " all_comments = []\n", | |
| "\n", | |
| " observed_ids = set()\n", | |
| " for issue in blob:\n", | |
| " if issue['id'] in observed_ids:\n", | |
| " continue\n", | |
| " for c in issue['comments']:\n", | |
| " c['id'] = issue['id']\n", | |
| " all_comments.append(c)\n", | |
| " observed_ids.add(issue['id'])\n", | |
| " \n", | |
| " comments = pd.DataFrame(all_comments, columns=['author', 'text', 'id', 'created'])\n", | |
| " \n", | |
| " return issue_meta, comments\n", | |
| "\n", | |
| "closed_meta, closed_comments = wrangle_issues(closed_issues, closed=True)\n", | |
| "open_meta, open_comments = wrangle_issues(open_issues)\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 33 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "closed_meta.index" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 34, | |
| "text": [ | |
| "Int64Index([0, 1, 2, ..., 3229, 3230, 3231], dtype=int64)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 34 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues = pd.concat([closed_meta, open_meta], ignore_index=True)\n", | |
| "comments = pd.concat([closed_comments, open_comments], ignore_index=True)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 35 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3881 entries, 0 to 3880\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 36, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3881 entries, 0 to 3880\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), int64(1), object(5)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 36 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.groupby('closed').size()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 37, | |
| "text": [ | |
| "closed\n", | |
| "False 649\n", | |
| "True 3232\n", | |
| "dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 37 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "comments" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 10962 entries, 0 to 10961\n", | |
| "Data columns (total 4 columns):\n", | |
| "author 10962 non-null values\n", | |
| "text 10962 non-null values\n", | |
| "id 10962 non-null values\n", | |
| "created 10962 non-null values\n", | |
| "dtypes: int64(1), object(3)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 38, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 10962 entries, 0 to 10961\n", | |
| "Data columns (total 4 columns):\n", | |
| "author 10962 non-null values\n", | |
| "text 10962 non-null values\n", | |
| "id 10962 non-null values\n", | |
| "created 10962 non-null values\n", | |
| "dtypes: int64(1), object(3)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 38 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.user = issues.user.map(lambda x: x['login'])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 39 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.to_datetime(issues.created_at)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 40, | |
| "text": [ | |
| "0 2013-06-12 18:31:16\n", | |
| "1 2013-06-12 14:24:44\n", | |
| "2 2013-06-12 14:22:18\n", | |
| "3 2013-06-12 02:26:18\n", | |
| "4 2013-06-12 01:16:19\n", | |
| "5 2013-06-11 22:55:48\n", | |
| "6 2013-06-11 15:44:15\n", | |
| "7 2013-06-11 06:56:40\n", | |
| "8 2013-06-11 03:47:13\n", | |
| "9 2013-06-10 21:24:08\n", | |
| "10 2013-06-10 20:40:22\n", | |
| "11 2013-06-10 19:13:04\n", | |
| "12 2013-06-10 17:04:32\n", | |
| "13 2013-06-10 16:59:14\n", | |
| "14 2013-06-10 16:21:32\n", | |
| "...\n", | |
| "3866 2011-11-24 02:08:03\n", | |
| "3867 2011-11-22 17:37:17\n", | |
| "3868 2011-11-22 16:20:05\n", | |
| "3869 2011-11-18 17:34:38\n", | |
| "3870 2011-10-21 04:55:54\n", | |
| "3871 2011-10-19 14:39:56\n", | |
| "3872 2011-10-17 16:13:36\n", | |
| "3873 2011-10-14 12:40:38\n", | |
| "3874 2011-10-02 03:33:45\n", | |
| "3875 2011-09-22 15:09:54\n", | |
| "3876 2011-09-21 16:05:33\n", | |
| "3877 2011-09-21 16:03:43\n", | |
| "3878 2011-09-04 02:07:02\n", | |
| "3879 2011-07-15 23:11:41\n", | |
| "3880 2011-04-06 00:15:26\n", | |
| "Name: created_at, Length: 3881, dtype: datetime64[ns]" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 40 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.to_datetime(issues.created_at).dtype" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 41, | |
| "text": [ | |
| "dtype('<M8[ns]')" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 41 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues['created_at'] = pd.to_datetime(issues.created_at)\n", | |
| "issues['closed_at'] = pd.to_datetime(issues.closed_at)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 42 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "comments.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>author</th>\n", | |
| " <th>text</th>\n", | |
| " <th>id</th>\n", | |
| " <th>created</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> nothing except cython and numpy are getting in...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> 1371058647000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> @cpcloud Phillip, would you have an example o...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> 1371059089000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> sure. the &quot;generally accepted&quot; way t...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> 1371059349000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> Thanks @cpcloud, I made this change.</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> 1371073629000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> that should be removed from travis since there...</td>\n", | |
| " <td> 15430880</td>\n", | |
| " <td> 1371059776000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 43, | |
| "text": [ | |
| " author text id created\n", | |
| "0 cpcloud nothing except cython and numpy are getting in... 15453336 1371058647000\n", | |
| "1 gliptak @cpcloud Phillip, would you have an example o... 15453336 1371059089000\n", | |
| "2 cpcloud sure. the "generally accepted" way t... 15453336 1371059349000\n", | |
| "3 gliptak Thanks @cpcloud, I made this change. 15453336 1371073629000\n", | |
| "4 cpcloud that should be removed from travis since there... 15430880 1371059776000" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 43 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "comments['created'] = pd.to_datetime(comments.created.map(int) * 1000000)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 44 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "comments.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>author</th>\n", | |
| " <th>text</th>\n", | |
| " <th>id</th>\n", | |
| " <th>created</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> nothing except cython and numpy are getting in...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td>2013-06-12 17:37:27</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> @cpcloud Phillip, would you have an example o...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td>2013-06-12 17:44:49</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> sure. the &quot;generally accepted&quot; way t...</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td>2013-06-12 17:49:09</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> Thanks @cpcloud, I made this change.</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td>2013-06-12 21:47:09</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> that should be removed from travis since there...</td>\n", | |
| " <td> 15430880</td>\n", | |
| " <td>2013-06-12 17:56:16</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 45, | |
| "text": [ | |
| " author text id created\n", | |
| "0 cpcloud nothing except cython and numpy are getting in... 15453336 2013-06-12 17:37:27\n", | |
| "1 gliptak @cpcloud Phillip, would you have an example o... 15453336 2013-06-12 17:44:49\n", | |
| "2 cpcloud sure. the "generally accepted" way t... 15453336 2013-06-12 17:49:09\n", | |
| "3 gliptak Thanks @cpcloud, I made this change. 15453336 2013-06-12 21:47:09\n", | |
| "4 cpcloud that should be removed from travis since there... 15430880 2013-06-12 17:56:16" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 45 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "comments.created[0]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 46, | |
| "text": [ | |
| "<Timestamp: 2013-06-12 17:37:27>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 46 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pandas_releases = \"\"\"Oct 25 2011|v0.5.0\n", | |
| "Nov 26 2011|v0.6.0\n", | |
| "Dec 14 2011|v0.6.1\n", | |
| "Feb 9 2012|v0.7.0\n", | |
| "Feb 29 2012|v0.7.1\n", | |
| "Mar 16 2012|v0.7.2\n", | |
| "Apr 12 2012|0.7.3\n", | |
| "Jun 29 2012|v0.8.0\n", | |
| "Jul 22 2012|v0.8.1\n", | |
| "Oct 7 2012|v0.9.0\n", | |
| "Nov 14 2012|v0.9.1\n", | |
| "Dec 17 2012|v0.10.0\n", | |
| "Jan 22 2013|v0.10.1\n", | |
| "Apr 22 2013|v0.11.0\"\"\"\n", | |
| "\n", | |
| "stamps = []\n", | |
| "releases = []\n", | |
| "for line in pandas_releases.split('\\n'):\n", | |
| " d, r = line.split('|')\n", | |
| " stamps.append(pd.Timestamp(d))\n", | |
| " releases.append(r)\n", | |
| "\n", | |
| "rseries = pd.Series(releases, index=stamps)\n", | |
| "rseries" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 47, | |
| "text": [ | |
| "2011-10-25 v0.5.0\n", | |
| "2011-11-26 v0.6.0\n", | |
| "2011-12-14 v0.6.1\n", | |
| "2012-02-09 v0.7.0\n", | |
| "2012-02-29 v0.7.1\n", | |
| "2012-03-16 v0.7.2\n", | |
| "2012-04-12 0.7.3\n", | |
| "2012-06-29 v0.8.0\n", | |
| "2012-07-22 v0.8.1\n", | |
| "2012-10-07 v0.9.0\n", | |
| "2012-11-14 v0.9.1\n", | |
| "2012-12-17 v0.10.0\n", | |
| "2013-01-22 v0.10.1\n", | |
| "2013-04-22 v0.11.0\n", | |
| "dtype: object" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 47 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Interesting questions to answer\n", | |
| "\n", | |
| "- Chattiness over time\n", | |
| "- Mean time til first comment over time\n", | |
| "- Time til issues closed (by month)\n", | |
| "- Issue churn / days to release\n", | |
| "- Number of issues of each label type over time\n", | |
| "- min/max/median/histogram time to first comment by repo collab on new issue\n", | |
| "- min/max/median/histogram time to first issue mention in commit\n", | |
| "- mean-time to close by label.\n", | |
| "- rolling open/close rate by label" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3881 entries, 0 to 3880\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), datetime64[ns](2), int64(1), object(3)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 48, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "Int64Index: 3881 entries, 0 to 3880\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), datetime64[ns](2), int64(1), object(3)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 48 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.index = issues.created_at\n", | |
| "issues.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>title</th>\n", | |
| " <th>created_at</th>\n", | |
| " <th>labels</th>\n", | |
| " <th>closed_at</th>\n", | |
| " <th>user</th>\n", | |
| " <th>id</th>\n", | |
| " <th>closed</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>created_at</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>2013-06-12 18:31:16</th>\n", | |
| " <td> BLD: remove after_script.sh from travis since ...</td>\n", | |
| " <td>2013-06-12 18:31:16</td>\n", | |
| " <td> []</td>\n", | |
| " <td>2013-06-12 19:37:29</td>\n", | |
| " <td> cpcloud</td>\n", | |
| " <td> 15466125</td>\n", | |
| " <td> True</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-06-12 14:24:44</th>\n", | |
| " <td> ImportError: No module named lxml.html with 2....</td>\n", | |
| " <td>2013-06-12 14:24:44</td>\n", | |
| " <td> []</td>\n", | |
| " <td>2013-06-12 21:47:09</td>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> True</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-06-12 14:22:18</th>\n", | |
| " <td> CLN: avoid Unboundlocal error in tools/merge/_...</td>\n", | |
| " <td>2013-06-12 14:22:18</td>\n", | |
| " <td> []</td>\n", | |
| " <td>2013-06-12 14:47:58</td>\n", | |
| " <td> jreback</td>\n", | |
| " <td> 15453214</td>\n", | |
| " <td> True</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-06-12 02:26:18</th>\n", | |
| " <td> TST slicing regression test</td>\n", | |
| " <td>2013-06-12 02:26:18</td>\n", | |
| " <td> []</td>\n", | |
| " <td>2013-06-12 03:20:07</td>\n", | |
| " <td> hayd</td>\n", | |
| " <td> 15431944</td>\n", | |
| " <td> True</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-06-12 01:16:19</th>\n", | |
| " <td> ci/after_script.sh missing?</td>\n", | |
| " <td>2013-06-12 01:16:19</td>\n", | |
| " <td> []</td>\n", | |
| " <td>2013-06-12 19:37:29</td>\n", | |
| " <td> gliptak</td>\n", | |
| " <td> 15430880</td>\n", | |
| " <td> True</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 49, | |
| "text": [ | |
| " title created_at labels closed_at user id closed\n", | |
| "created_at \n", | |
| "2013-06-12 18:31:16 BLD: remove after_script.sh from travis since ... 2013-06-12 18:31:16 [] 2013-06-12 19:37:29 cpcloud 15466125 True\n", | |
| "2013-06-12 14:24:44 ImportError: No module named lxml.html with 2.... 2013-06-12 14:24:44 [] 2013-06-12 21:47:09 gliptak 15453336 True\n", | |
| "2013-06-12 14:22:18 CLN: avoid Unboundlocal error in tools/merge/_... 2013-06-12 14:22:18 [] 2013-06-12 14:47:58 jreback 15453214 True\n", | |
| "2013-06-12 02:26:18 TST slicing regression test 2013-06-12 02:26:18 [] 2013-06-12 03:20:07 hayd 15431944 True\n", | |
| "2013-06-12 01:16:19 ci/after_script.sh missing? 2013-06-12 01:16:19 [] 2013-06-12 19:37:29 gliptak 15430880 True" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 49 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.created_at" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 50, | |
| "text": [ | |
| "created_at\n", | |
| "2013-06-12 18:31:16 2013-06-12 18:31:16\n", | |
| "2013-06-12 14:24:44 2013-06-12 14:24:44\n", | |
| "2013-06-12 14:22:18 2013-06-12 14:22:18\n", | |
| "2013-06-12 02:26:18 2013-06-12 02:26:18\n", | |
| "2013-06-12 01:16:19 2013-06-12 01:16:19\n", | |
| "2013-06-11 22:55:48 2013-06-11 22:55:48\n", | |
| "2013-06-11 15:44:15 2013-06-11 15:44:15\n", | |
| "2013-06-11 06:56:40 2013-06-11 06:56:40\n", | |
| "2013-06-11 03:47:13 2013-06-11 03:47:13\n", | |
| "2013-06-10 21:24:08 2013-06-10 21:24:08\n", | |
| "2013-06-10 20:40:22 2013-06-10 20:40:22\n", | |
| "2013-06-10 19:13:04 2013-06-10 19:13:04\n", | |
| "2013-06-10 17:04:32 2013-06-10 17:04:32\n", | |
| "2013-06-10 16:59:14 2013-06-10 16:59:14\n", | |
| "2013-06-10 16:21:32 2013-06-10 16:21:32\n", | |
| "...\n", | |
| "2011-11-24 02:08:03 2011-11-24 02:08:03\n", | |
| "2011-11-22 17:37:17 2011-11-22 17:37:17\n", | |
| "2011-11-22 16:20:05 2011-11-22 16:20:05\n", | |
| "2011-11-18 17:34:38 2011-11-18 17:34:38\n", | |
| "2011-10-21 04:55:54 2011-10-21 04:55:54\n", | |
| "2011-10-19 14:39:56 2011-10-19 14:39:56\n", | |
| "2011-10-17 16:13:36 2011-10-17 16:13:36\n", | |
| "2011-10-14 12:40:38 2011-10-14 12:40:38\n", | |
| "2011-10-02 03:33:45 2011-10-02 03:33:45\n", | |
| "2011-09-22 15:09:54 2011-09-22 15:09:54\n", | |
| "2011-09-21 16:05:33 2011-09-21 16:05:33\n", | |
| "2011-09-21 16:03:43 2011-09-21 16:03:43\n", | |
| "2011-09-04 02:07:02 2011-09-04 02:07:02\n", | |
| "2011-07-15 23:11:41 2011-07-15 23:11:41\n", | |
| "2011-04-06 00:15:26 2011-04-06 00:15:26\n", | |
| "Name: created_at, Length: 3881, dtype: datetime64[ns]" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 50 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.user.resample('M', how='count')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 51, | |
| "text": [ | |
| "created_at\n", | |
| "2010-09-30 11\n", | |
| "2010-10-31 8\n", | |
| "2010-11-30 2\n", | |
| "2010-12-31 4\n", | |
| "2011-01-31 9\n", | |
| "2011-02-28 2\n", | |
| "2011-03-31 2\n", | |
| "2011-04-30 1\n", | |
| "2011-05-31 7\n", | |
| "2011-06-30 9\n", | |
| "2011-07-31 31\n", | |
| "2011-08-31 31\n", | |
| "2011-09-30 70\n", | |
| "2011-10-31 123\n", | |
| "2011-11-30 116\n", | |
| "2011-12-31 136\n", | |
| "2012-01-31 163\n", | |
| "2012-02-29 116\n", | |
| "2012-03-31 143\n", | |
| "2012-04-30 190\n", | |
| "2012-05-31 194\n", | |
| "2012-06-30 184\n", | |
| "2012-07-31 163\n", | |
| "2012-08-31 116\n", | |
| "2012-09-30 168\n", | |
| "2012-10-31 148\n", | |
| "2012-11-30 253\n", | |
| "2012-12-31 221\n", | |
| "2013-01-31 165\n", | |
| "2013-02-28 165\n", | |
| "2013-03-31 275\n", | |
| "2013-04-30 272\n", | |
| "2013-05-31 234\n", | |
| "2013-06-30 149\n", | |
| "dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 51 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.user.resample('M', how='count').plot(kind='bar')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 52, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10d3580d0>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nx2effYaEhATcfffdpvug0/nw156Kmir6UF5eDq/Xi+PHj6NFixbo1asX0tLS0KKF3PseO/9fNsf5\ncGIfrPxcR/tbAAAUXklEQVQ5taMPTW1P2Tvyt99+GwMHDkR2djYuXbqES5cu4aOPPsKAAQOwfv16\nqTZqLyjT1PZkF6eprZs/fz4WLlyIn//851i0aBGeeeYZXL58GStXrsTTTz9tqj3dzkfd9lTUVNGH\nLVu2YMyYMfjggw/w6quv4osvvsCGDRvQv39/fPPNN83eBxXnw2l9sPLn1I4+WNGesqtW4uLikJOT\nU+83ztmzZzF48GDk5eUBACZNmhSwjb179+LixYvS7cm2JatLSEjAX/7yF1y6dAkxMTEoKirCTTfd\nhCtXriApKQnffvutdHsqzodseypqqupD37598fnnn6NNmzY4ffo0pk2bht27d+Obb77B448/jk8/\n/dTyPqg6v+HSByt/Tu3og2x7wVAarfij7lcb7d+/Hxs2bEDbtm19NEIIfP7556bak21LVudyueBy\nudCyZUvjOQC0aNGiUXWb+3zItqeipso+tG7dGgBw00034dSpUwCAfv364dy5c7b0QdX5DZc+NMfP\naVP6INteMJRN5L/+9a8xcOBApKWl+azBu3v3bixatMjQDRkyBG3atEFKSkq9Nnr16mWqPdm2ZHVj\nxozBiBEjUFFRgSeeeAKpqamYMGEC9u3b55N/ybSn4nzItqeipqo+TJw4EePHj8ddd90Fr9eLqVOn\nAgDOnDnjc4yK/5dWn99w6YOVP6d29EG2vWAovSGotLQUH3zwgc8avGlpaWjfvr0W7TWEEAL79u1D\nx44dkZCQgI8//hgHDhxAfHw8Jk+ebLq9UD8fdtRU0Yf3338fR44cQf/+/Y0f9KqqKlRUVBjv1s1g\nZR9UnA+r64b6zymg3/9z3tlJCCEhjrKrVr7++muMHTsWDz74IPLz8zFq1CjcfPPNGDFiBL777jtb\ndFbX/OGHH/Dggw9i+PDhePHFF3HlyhVj35QpU5R60/m86dwHK8eU51cPbyrG1A5dUKTWSLSBoUOH\nil27dol33nlHdOrUSbzzzjuisrJS7Nq1S6Smptqis7rmmDFjxBtvvCG++uor8cQTT4hhw4aJU6dO\nCSGESEpKUupN5/Omcx+sHFOeXz28qRhTO3TBUDaR1z6B3bt3D7jPSp3VNfv16+ezb8OGDaJ3797i\nu+++U+5N5/Omcx+sHFOrvems09mbijG1QxcMZVetVFZWGs+ffPJJn321//SxUmd1zatXr+Ly5cvG\nB2A///nP0alTJ4wbNw4XLlxQ6k3n86ZzH6wcU6u96azT2ZuKMbVDF4yWS5YsWSKltBiXy4VevXrh\nhhtuwB133GG8/t133+H06dMYP3685Tqra/79739HZWUlPB6Pobn99tsxYsQIfP3113j44YeVedP5\nvOncByvHlOdXD28qxtQOXTB41QohhIQ4Wq1+OGDAgGbXqagpq6M3e3X0Zq+O3uzX1aDVRC77x4GV\nOhU1ZXX0Zq+O3uzV0Zv9uhq0msgnTpxoqU5miUrZZSyt1sn0wcq2zLQno7N6rFT0QcWYyran4nyY\nqSujU9UHK8fe6j5Y3V4NWmTkZ8+eRcuWLREZGRlUV1paCgC2346sCwcPHsTAgQMtaevcuXPIy8tD\n9+7d4Xa7m9zeqVOncOuttwbczzENjFXjavWYAtaMK8e0aTRqXKUuUrSB48ePi+nTp4vIyEjhcrlE\nbGysiI2NFYsXLxYVFRWGrqCgQDzwwAOiQ4cOonv37qJ79+6iQ4cO4oEHHhD5+flStRITE4UQQnz/\n/ffigQceEHfeead44YUXfOrcc889ptoy097hw4fFmDFjxAMPPCD++te/ipSUFBEZGSmGDx8u8vLy\nhBBCHDx4UBw8eFB8+eWXxr8xMTHG6zWsWbPGeF5YWChGjx4tbr75ZjFs2DDxv//7v8a+adOmGTc9\neL1e0aVLFzFmzBjRpUsXsXnzZkMXFRUlZs6cKfbs2SOqqqr89vl//ud/hMfjEXfeeaf46quvREJC\ngrj99tvFT37yE/Hhhx8aOhVjamYcrGxLZkyFkBtXFWMqhLXjqtuY1m5PxZgKYf24BkPZRJ6SkiI+\n+ugjUVVVJbZt2ybmz58vysvLxXPPPScee+wxQzdkyBCxadMmceXKFeO1K1euiHfffVcMGTLEeG3r\n1q31Htu2bRNbt24Vt9xyixBC/g4vmbbMtCdz55bL5RLDhg0TKSkpxqN169bG8xpqt3v//feL1atX\ni6tXr4r/+q//EqNHjzb29enTx6d+zQ/TqVOnRN++fY19cXFx4pVXXhHDhg0TnTt3FvPmzROfffaZ\nz1j169dP5Obmik8//VS43W5jf25uro8fFWMqOw4qxlR2XFWMqdXjqmJMZdtTMaZ2jGswlE3kde+2\nSk5ONp7HxcUZz3v06BGwjdr7WrVqJR5++GExY8YMn0dmZqa46aab/NYMdIeXTFtm2pO5c2vr1q1i\nxIgR4v333zf2eTyeen2u3VbdQe7fv7/xPCEhQZSVlQkhhLjzzjvF1atXffb5a6+goEAsW7ZMJCcn\nC4/HIxYuXFhPExsbG7CmijH1V9ffOKgYUyHkxlXFmNbVNXVcVYypbHsqxrTuMVaMazCU3dnZoUMH\nbNiwAaNHj8a2bdvQrVs3ANXLhYpasf2AAQMwe/ZsZGZmokuXLgCqF8FZv349kpOTDV3fvn3x9NNP\no2/fvvVq7d27F4D8HV4ybZlpT+bOrfvuuw9paWlYtGgR3nrrLbz00kt+z9vx48cxb948CCFw+vRp\nXLlyBREREYafGhYvXoxRo0Zhzpw5uPPOO5Geno5JkyYhOzs74A0GXbt2xbPPPotnn30WR48exebN\nmwEAbdu2xerVq3Hu3DlERkZi5cqVSE9Px549e3y+1UTFmNb0u6FxUDGmgNy4qhhTwNpxVTGmsu2p\nGFPA3nGth9R0bwMFBQXi/vvvF3369BHTpk0TJ06cEEIIcfr0abF161ZDd/nyZfHaa6+JcePGicTE\nRJGYmCjGjRsnXnvtNXH58mVDt2/fPlFQUOC3Vk5OjhBCiBUrVoisrKx6+7/66isxduxYU22Zae+N\nN94Q58+fr6fLy8sT8+fPr/f6wYMHxciRI0WHDh3q7XvrrbfEunXrjH/PnDkjhBCiuLjY592WEEIc\nO3ZM/Mu//IuYMmWKuPvuu8Xjjz8uvF6vj+ZXv/qV337W9ZmZmSkWLFggzp07J2bOnCl69+4t7r33\nXvHdd98ZOhVjKoTcOKgeUyECj6uKMa3xatW4qhhT2fZUjKkQ1o9rMLS4aoXURwiB8vLyBq/6IKEF\nx9V56DCmSr+z0+v1YseOHSgqKgJQ/a0YU6ZMkf5z4re//S1+85vfWKKrq5H1ZqWuriY2Nhb33HOP\nZTWb0p7V3gJh5ZjW1akYU386f+dOxZja0Z4/7BxTWW8qxtSO9gKh7B35/PnzkZeXh4cffhgxMTEA\nqjOlDRs2oEePHli1alWDbXTp0gWFhYWW6GprZL1ZqVNRU5W3po5VY3ThdH5V6awaKzM6nt9rSIcw\nFhPoU+6qqiqfT4zbtm0b8NGyZUtTOtm2ZL1ZqVNRU5U3K8dUVhdO51eFTsWYynrT+byZ0QVD2S36\nrVu3Rk5OTr3Xc3JycOONNxrbbrcbeXl5KC8vr/fo3LmzKZ1sW7LerNSpqKnKm5VjKqsLp/OrQqdi\nTGW96XzezOiCoSwjX7duHWbNmoXy8nLExsYCqP5zIjIyEuvWrTN006dPxw8//IBOnTrVayMjI8OU\nTrYtWW9W6lTUVOXNyjGV1YXT+VWhUzGm4XR+G0L5VSvFxcU+Ab+/gVOFrDcrdSpqqvKmgnA6v6p0\nKgj78ysVwDQTixcvbnadipqyOnqzV0dv9urozX5dDVpN5LJfNGqlTkVNWR292aujN3t19Ga/rgat\n1iMXXGBeeU1ZndU1VRBO51eVTgXheH6VZ+S1qaqqQosWDf9usVIn21ZlZSVatmzZrDoVNZ3gTVZH\nb/bqVHmz8uded10NSt+Re71ePP7445g0aRImTZqEJ554Al6v11adbFt1qfkP9Nvf/rbZdCpqOsFb\nIJ3X68WaNWtQUFDgo1m7dq3PsSp0OnvTuQ9XrlzBxo0bjZ/h9evXY968eVizZo3xrlZGEwq6YGh/\nZ6eKO+iCYeddajrVdIK32rqFCxfik08+wYABA/Dee+9h/vz5mDdvHgAgOTkZhw4dAgAlOp296d6H\nmTNn4ty5c6ioqMCNN96Iv//977jvvvvw3//937jtttvwb//2b1Ia2bZU6oJiKlG3EJ3voFNxl5qq\nO+NC3Zusrk+fPsY3w5w9e1aMHz9ezJ8/X1RVVfl8sKRCp7M33ftQs153RUWFcLvdxkqLV65cMdYA\nl9GEgi4Y2t/ZqeIOOhV3qam6My7UvcnqKisrjbWgo6Ki8N577+H8+fOYOnUqKioqjLZU6HT2pnsf\najQRERG44447cMMNNwAAWrVqBZfLJa0JBV0wlE3k69atw5w5c9C7d2+kpqYiNTUVvXv3xrx58+rd\n9WSVTratmrvK/OHv7jMrdCpqOsGbrO7222/Hvn37jNdbtWqFtWvXIj4+HkeOHDFeV6HT2ZvufejU\nqRN+/PFHAMAHH3xgvF5cXGxMiDKaUNAFQ/lVK7XvZoqJifF5p2WXTrYt4hwuXboEAH7Xrjh+/Lhx\na7QKnc7edO9DIC5cuIALFy6gY8eOTdKEgg5QfNUKAHTu3BmDBg3CoEGDjAn16NGjtupk2/KHCh29\nNV134403BlyAqObdkCqdzt5070MgbrrpJpSWljZZEwo6AHrdol9D3S+CbQ6dipqyOnqzV0dv9uro\nzX6dstUP586dG3BfWVmZLToVNelNDx292aujN/t1wVCWkbdr1w4vvfQSbrjhBp9PZoUQeOqpp3Dm\nzBnLdSpq0pseOnoL3z7o7M2MLihS79ttICUlRezfv9/vvq5du9qiU1GT3vTQ0Zu9OnqzXxcMZe/I\nS0tL0bp1a7Rp06bZdCpq0pseOnqzV0dv9uuCofzyQ0IIIU1D2eWHZWVlWLBgAeLj4+F2u9G+fXvE\nx8djwYIFPgG/lToVNelNDx29hW8fdPZmRhcMZRN5eno63G43srOzUVpaitLSUmRlZSEqKgrp6em2\n6FTUpDc9dPQWvn3Q2ZsZXVCkknQb6Nmzp9Q+K3UqatKbHjp6s1dHb/brgqHsHXnXrl3xu9/9DiUl\nJcZrJ0+exPLly3HbbbfZolNRk9700NFb+PZBZ29mdMFQNpFv3rwZp0+fxsiRI+F2u+F2u5GSkoIz\nZ85gy5YttuhU1KQ3PXT0Fr590NmbGV0weNUKIYSEOEoXzTp69Cj27t1bbxGcul+9ZqVORU1600NH\nb+HbB529mdEFRCpJt4GXX35ZxMXFiXvuuUfcdtttYvv27ca+2t8AYqVORU1600NHb+HbB529mdEF\nQ9lE3qdPH1FeXi6EECI/P18MHDhQrFy5Ugjha95KnYqa9KaHjt7Ctw86ezOjC4ay1Q+FEGjbti0A\nwOPxIDs7G/fddx++//57n2+OtlKnoia96aGjt/Dtg87ezOiCIjXd20BKSoo4dOiQz2sVFRVi+vTp\nwuVy2aJTUZPe9NDRW/j2QWdvZnTBUDaR//DDD6K4uLje61VVVeJPf/qTLToVNelNDx29hW8fdPZm\nRhcMXn5ICCEhjvLv7CSEENI0OJETQkiIw4mcEEJCHE7khBAS4nAiJ2HLvn378Nlnn5k+zuPxoLS0\n1PRxL774ouljCJGBEzlxBJWVlaaPycrKwqeffmr6uNrfdG6GpUuXNuo4QhpC2Z2dhJjl7bffxooV\nK+ByudCvXz+0bNkSN9xwAw4fPozhw4dj1qxZmDNnDk6dOoU2bdrgzTffRK9evfDee+/hhRdeQEVF\nBW655Rb84Q9/wMWLF7F69Wq0bNkSGzduxKuvvoq4uDjMmjULP/zwAwDg97//Pf7xH/8RZ86cQUZG\nBk6cOIFhw4Y1eLfdvffei8LCQly+fBnz58/HY489hgULFuDSpUtITk5GYmIiNmzY0BynjIQLUleb\nE6KYv/zlLyIuLk6cOXNGCCFEaWmpmDFjhpg0aZKoqqoSQggxevRokZeXJ4QQ4sCBA2L06NFCCCHO\nnj1rtPPmm2+Kp556SgghxJIlS8SKFSuMfRkZGWL//v1CCCG+//570bt3byGEEHPnzhX/+q//KoQQ\n4v333xcul8vw4Y/S0lIhhBAXL14UiYmJxnbbtm2beBYI8Q/fkZOQ4KOPPkJ6ejrat28PAHC73QCA\nqVOnwuVy4ccff8Rnn32GqVOnGsdUVFQAAAoLC5Geno6TJ0+ioqICt99+u6ERtd5d79mzB0eOHDG2\ny8vLceHCBfzpT3/C9u3bAQATJ040agfi5Zdfxo4dO4zaeXl5GDx4cFO6T0hQOJGTkMDlcvmNNNq0\naQMAqKqqQlRUFA4dOlRPM3fuXDz99NP46U9/in379mHJkiV+awgh8Pnnn+Mf/uEf/O6TITs7G3v3\n7sWBAwfQunVrjBo1CpcvX5Y6lpDGwg87SUgwevRo/Od//qdxtUjdq0YiIyPRrVs3bN26FUD1xPvN\nN98AAM6fP4+f/OQnAIB169YZx7Rr1w7l5eXGdlpaGlatWmVsf/311wCAu+66C++88w4A4I9//CPO\nnj0b0Of58+fhdrvRunVrHD16FAcOHDD2RURE4OrVq6b7TkhDcCInIUFCQgJ+/etfY+TIkUhKSsJT\nTz0Fl8vlcwXJH/7wB6xZswZJSUlITEzErl27AABLlizB1KlTMWjQINx6663GMZMmTcL27duRnJyM\nTz75BKtWrcKXX36J/v37o0+fPli9ejUAYPHixfj444+RmJiI7du3o2vXrgF9jh8/HlevXkVCQgIW\nLlyIYcOGGfv+6Z/+Cf369cP06dPtOEUkjOGiWYQQEuLwHTkhhIQ4/LCTkEZw5swZjB07tt7re/fu\nNa6sIaS5YLRCCCEhDqMVQggJcTiRE0JIiMOJnBBCQhxO5IQQEuL8P5h5hBMMftIPAAAAAElFTkSu\nQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10d359290>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 52 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Total number of issues opened over time\n", | |
| "issues.index = issues.created_at\n", | |
| "\n", | |
| "issues_by_month = issues.user.resample('M', 'count')\n", | |
| "\n", | |
| "fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 8))\n", | |
| "plt.subplots_adjust(hspace=0.05)\n", | |
| "issues_by_month.cumsum().plot(ax=axes[1])\n", | |
| "issues_by_month.plot(kind='bar', ax=axes[0])\n", | |
| "axes[0].xaxis.set_visible(False)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAekAAAH4CAYAAABuRBWpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X14VNW99//3QFLUAzFQZGIztkNPwgkDwURoyPWrD+GG\n8KSkVNrYiJIoVG8oCMUjQnuo0NNK0Hq3gE3LqdFGsAKnLUlsJYYqo0hrghhabFTSlmgymcTSEA0Y\nDCTz+2ObwfCQTJLJzJ7J53Vdc5m1s9fs7x6W+c5aa++1LR6Px4OIiIiYzqBgByAiIiIXpyQtIiJi\nUkrSIiIiJqUkLSIiYlJK0iIiIialJC0iImJSvU7Sp0+fZvLkySQlJeFwOFizZg0AjY2NpKenM2bM\nGKZPn05TU5O3zoYNG4iPjychIYHS0tK+Ry8iIhLGLH25T/qjjz7iiiuu4OzZs1x//fX86Ec/ori4\nmJEjR7Jq1So2btzIiRMnyM3NpbKykttvv52DBw/icrmYNm0aR48eZdAgdeZFREQupk8Z8oorrgCg\ntbWVtrY2hg8fTnFxMdnZ2QBkZ2dTWFgIQFFREVlZWURGRmK324mLi6O8vLyP4YuIiISviL5Ubm9v\n57rrruPvf/87ixcvZty4cTQ0NGC1WgGwWq00NDQAUFdXR2pqqreuzWbD5XJd8J4Wi6UvIYmIiISc\nSw1q9ylJDxo0iMOHD/PBBx8wY8YM9u3b1+n3Fouly6R7qd9ppVIRERkousqTfpkQvvLKK7n55ps5\ndOgQVquV+vp6ANxuN6NGjQIgNjaWmpoab53a2lpiY2P9cXgREZGw1Oskffz4ce+V2y0tLezdu5fk\n5GQyMjIoKCgAoKCggLlz5wKQkZHBjh07aG1t5dixY1RVVZGSkuKHUxAREQlPvR7udrvdZGdn097e\nTnt7O3feeSdTp04lOTmZzMxM8vPzsdvt7Nq1CwCHw0FmZiYOh4OIiAjy8vI0/ywiItKFPt2C1R8s\nFovmpEVEZMDoKu/pJmURERGTUpIWERExKSVpERERk1KSFhERMSklaREREZNSkhYRETEpJWkRERGT\nUpIWERExKSVpERERk1KSFhERMSklaREREZNSkhYRETEpJWkRERGTUpIWEZGQEhU1AovF0u0rKmpE\nsEPtMz2qUkREQorFYgF8yROhkU/0qEoRERnQQrX3rZ60iIiElN70pM3c+1ZPWkREJAQpSYuIiJiU\nkrSIiIhJKUmLiIiYlJK0iIiISSlJi4iImJSStIiIiEkpSYuIiJiUkrSIiIhJKUmLiIiYVK+TdE1N\nDVOmTGHcuHGMHz+ezZs3A7Bu3TpsNhvJyckkJyezZ88eb50NGzYQHx9PQkICpaWlfY9eREQkjPV6\n7e76+nrq6+tJSkri5MmTTJw4kcLCQnbt2sWwYcNYuXJlp/0rKyu5/fbbOXjwIC6Xi2nTpnH06FEG\nDer8PUFrd4uISFe0drcPYmJiSEpKAmDo0KGMHTsWl8sFcNGDFRUVkZWVRWRkJHa7nbi4OMrLy3t7\neBER8ZEvT4Ay29OfxOCXOenq6moqKipITU0FYMuWLVx77bUsXLiQpqYmAOrq6rDZbN46NpvNm9RF\nRKT/NDefwOhFXvpl7CNmE9HXNzh58iRf+9rX2LRpE0OHDmXx4sV873vfA2Dt2rXcf//95OfnX7Su\nMfxwoZycHOx2OwDR0dEkJSWRlpYGgNPpBFBZZZVVVtnH8jkd5bSLls0Sr7/Op6NOR/3u9+/8/v0Z\nv9PppLq6mu706XnSZ86c4ZZbbmHWrFmsWLHigt9XV1czZ84cjhw5Qm5uLgCrV68GYObMmaxfv57J\nkyd3Dkhz0iIifuXbfGzo/O3VnLQPPB4PCxcuxOFwdErQbrfb+/Pu3btJTEwEICMjgx07dtDa2sqx\nY8eoqqoiJSWlt4cXEREJe70e7j5w4ADbt29nwoQJJCcnA/Dwww/z7LPPcvjwYSwWC6NHj2br1q0A\nOBwOMjMzcTgcREREkJeXd8nhbhEREenjcHd/0HC3iIh/abh7AA53i4iISP9SkhYRETEpJWkRERGT\nUpIWERExKSVpERERk1KSFhERMSklaRERkYvw5cEk/f1wEt0nLSIS5nSftLnvrdZ90iIiIiFISVpE\nRMSklKRFRERMSklaRETEpJSkRURETEpJWkRExKSUpEVERExKSVpERMSklKRFROQCvqy21Z8rbYlB\nK46JiIS53qw4ZuZVyrTimIiIiASdkrSIiIhJKUmLiIiYlJK0iIiISSlJi4iImJSStIiIiEkpSYuI\niJiUkrSIiIhJKUmLiIiYlJK0iIiISfU6SdfU1DBlyhTGjRvH+PHj2bx5MwCNjY2kp6czZswYpk+f\nTlNTk7fOhg0biI+PJyEhgdLS0r5HLyIiEsZ6vXZ3fX099fX1JCUlcfLkSSZOnEhhYSFPPfUUI0eO\n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\nJHa7nbi4OMrLy/sQtoiISPjz65x0Q0MDVqsVAKvVSkNDAwB1dXXYbDbvfjabDZfL5c9Di4iIhJ1+\ne550x1q1Xf3+UnJycrDb7QBER0eTlJREWloaAE6nE0BllU1RNjiBtE/9zEXKdKrfue7F9u98PF/3\n76hzLr7u9j///Tu2+ba/zsco+x7f+efTX/H1dP+0Tvub73w6x+fr/hfG193+579/xzbf9u/pv09O\nTs5FjtdZn9burq6uZs6cORw5cgSAhIQEnE4nMTExuN1upkyZwttvv+2dm169ejUAM2fOZP369Uye\nPPnCgLR2t4QQs68HrDpauzs86nSuF451ArJ2d0ZGBgUFBQAUFBQwd+5c7/YdO3bQ2trKsWPHqKqq\nIiUlxZ+HFhERCTu9Hu7Oysri5Zdf5vjx41xzzTV8//vfZ/Xq1WRmZpKfn4/dbmfXrl0AOBwOMjMz\ncTgcREREkJeX1+Vwt4iIiOhRlSJ9YvYhNNXRcHd41OlcLxzr6FGVIiIiIUZJWkRExKSUpEVERExK\nSVpERMSklKRFRERMSklaRETEpJSkRURETEpJWkRExKSUpEVERExKSVpERMSklKRFRERMSklaRETE\npJSkRURETEpJWkRExKSUpEVERExKSVpERMSklKRFPhEVNQKLxdLtKypqRLBDFZEBIiLYAYiYRXPz\nCcDjw36W/g9GRAT1pEVERExLSVpERMSklKRFRERMSklaRETEpJSkRURETEpJWkRExKSUpEVERExK\nSVpERMSklKRFRERMSklaRETEpPplWVC73U5UVBSDBw8mMjKS8vJyGhsbue2223j33Xex2+3s2rWL\n6Ojo/ji8iIhIWOiXnrTFYsHpdFJRUUF5eTkAubm5pKenc/ToUaZOnUpubm5/HFpERCRs9Ntwt8fT\n+UEFxcXFZGdnA5CdnU1hYWF/HVpERCQs9Mtwt8ViYdq0aQwePJh7772Xb37zmzQ0NGC1WgGwWq00\nNDRcsn5OTg52ux2A6OhokpKSSEtLA8DpdAKorHK/lMH5yX+7K3+a0+f9O47Xue6lj9fT/Tvq6HzO\nP4Zv+/f2fHyP7/zz6a/4erp/Wqf9zXc+nePzdf8L4+tu//Pfv2Obb/v39N8nJyfnIsfrzOI5v8vr\nB263m6uvvpp//vOfpKens2XLFjIyMjhx4oR3nxEjRtDY2HhhQBbLBb1wkUCwWCz48qhKONdGVSf8\n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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10d5e1550>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 53 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "issues.closed" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 54, | |
| "text": [ | |
| "created_at\n", | |
| "2013-06-12 18:31:16 True\n", | |
| "2013-06-12 14:24:44 True\n", | |
| "2013-06-12 14:22:18 True\n", | |
| "2013-06-12 02:26:18 True\n", | |
| "2013-06-12 01:16:19 True\n", | |
| "2013-06-11 22:55:48 True\n", | |
| "2013-06-11 15:44:15 True\n", | |
| "2013-06-11 06:56:40 True\n", | |
| "2013-06-11 03:47:13 True\n", | |
| "2013-06-10 21:24:08 True\n", | |
| "2013-06-10 20:40:22 True\n", | |
| "2013-06-10 19:13:04 True\n", | |
| "2013-06-10 17:04:32 True\n", | |
| "2013-06-10 16:59:14 True\n", | |
| "2013-06-10 16:21:32 True\n", | |
| "...\n", | |
| "2011-11-24 02:08:03 False\n", | |
| "2011-11-22 17:37:17 False\n", | |
| "2011-11-22 16:20:05 False\n", | |
| "2011-11-18 17:34:38 False\n", | |
| "2011-10-21 04:55:54 False\n", | |
| "2011-10-19 14:39:56 False\n", | |
| "2011-10-17 16:13:36 False\n", | |
| "2011-10-14 12:40:38 False\n", | |
| "2011-10-02 03:33:45 False\n", | |
| "2011-09-22 15:09:54 False\n", | |
| "2011-09-21 16:05:33 False\n", | |
| "2011-09-21 16:03:43 False\n", | |
| "2011-09-04 02:07:02 False\n", | |
| "2011-07-15 23:11:41 False\n", | |
| "2011-04-06 00:15:26 False\n", | |
| "Name: closed, Length: 3881, dtype: bool" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 54 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Time to closed\n", | |
| "stuff = issues[issues.closed]\n", | |
| "\n", | |
| "time_to_close = []\n", | |
| "for x, y in zip(stuff.closed_at, stuff.created_at):\n", | |
| " days = (x - y).total_seconds() / (3600. * 24)\n", | |
| " time_to_close.append(days)\n", | |
| "\n", | |
| "time_to_close_id = pd.Series(time_to_close, index=stuff.id)\n", | |
| "time_to_close = pd.Series(time_to_close, index=stuff.created_at)\n", | |
| "time_to_close_id\n", | |
| "\n", | |
| "time_to_close = time_to_close.sort_index()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 55 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Time to closed\n", | |
| "stuff = issues[issues.closed]\n", | |
| "\n", | |
| "time_to_closed = []\n", | |
| "for created_at, closed_at in zip(stuff.created_at, stuff.closed_at):\n", | |
| " days = (closed_at - created_at).total_seconds() / (60. * 60. * 24)\n", | |
| " time_to_closed.append(days)\n", | |
| "\n", | |
| "time_to_closed_id = pd.Series(time_to_closed, index=stuff.id)\n", | |
| "time_to_closed = pd.Series(time_to_closed, index=stuff.created_at)\n", | |
| "\n", | |
| "time_to_closed = time_to_closed.sort_index()\n", | |
| "#time_to_closed.resample('M', how='mean').plot()\n", | |
| "time_to_closed['2011-08':].resample('M', how='mean').plot()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 56, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10d5e3810>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nJGELIYRN/H9CjAzF77GT7gAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10d6b7a10>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 56 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "a_series = pd.Series(comments.author.values, index=comments.created)\n", | |
| "a_series = a_series.sort_index()\n", | |
| "a_series" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 57, | |
| "text": [ | |
| "created\n", | |
| "2010-09-30 02:11:47 wesm\n", | |
| "2010-09-30 02:22:45 wesm\n", | |
| "2010-09-30 22:30:39 wesm\n", | |
| "2010-10-03 17:25:35 hector13\n", | |
| "2010-10-03 19:18:08 wesm\n", | |
| "2010-11-19 18:31:27 wesm\n", | |
| "2010-11-19 18:42:08 wesm\n", | |
| "2010-12-11 06:05:26 wesm\n", | |
| "2010-12-11 06:11:59 wesm\n", | |
| "2010-12-11 06:14:32 wesm\n", | |
| "2010-12-11 06:19:58 wesm\n", | |
| "2010-12-11 19:50:13 wesm\n", | |
| "2010-12-11 22:53:14 wesm\n", | |
| "2010-12-14 19:53:34 wesm\n", | |
| "2010-12-14 20:07:42 tgefell\n", | |
| "...\n", | |
| "2013-06-13 03:54:25 cpcloud\n", | |
| "2013-06-13 04:06:26 cpcloud\n", | |
| "2013-06-13 04:08:57 selasley\n", | |
| "2013-06-13 04:19:22 cpcloud\n", | |
| "2013-06-13 04:57:48 cpcloud\n", | |
| "2013-06-13 05:23:50 cpcloud\n", | |
| "2013-06-13 07:33:33 jreback\n", | |
| "2013-06-13 08:58:43 hayd\n", | |
| "2013-06-13 09:07:11 hayd\n", | |
| "2013-06-13 10:11:11 hayd\n", | |
| "2013-06-13 10:23:44 jreback\n", | |
| "2013-06-13 10:34:23 hayd\n", | |
| "2013-06-13 11:48:30 hayd\n", | |
| "2013-06-13 11:53:26 nipunreddevil\n", | |
| "2013-06-13 12:20:09 cpcloud\n", | |
| "Length: 10962, dtype: object" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 57 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "a_series.value_counts()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 58, | |
| "text": [ | |
| "wesm 2553\n", | |
| "jreback 2172\n", | |
| "y-p 1251\n", | |
| "cpcloud 825\n", | |
| "chang 548\n", | |
| "hayd 221\n", | |
| "lodagro 212\n", | |
| "stephenwlin 199\n", | |
| "adamklein 147\n", | |
| "jseabold 127\n", | |
| "timmie 118\n", | |
| "takluyver 90\n", | |
| "jtratner 90\n", | |
| "michaelaye 65\n", | |
| "dalejung 60\n", | |
| "...\n", | |
| "jtornero 1\n", | |
| "xyang2013 1\n", | |
| "moconnell 1\n", | |
| "bgbg 1\n", | |
| "tlmaloney 1\n", | |
| "Anaphory 1\n", | |
| "maj888 1\n", | |
| "drbunsen 1\n", | |
| "e9t 1\n", | |
| "cournape 1\n", | |
| "Lamarth 1\n", | |
| "dosequis 1\n", | |
| "mtkni 1\n", | |
| "languitar 1\n", | |
| "danxshap 1\n", | |
| "Length: 513, dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 58 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# https://github.com/blog/1204-notifications-stars\n", | |
| "# github started notifying participants when a comment\n", | |
| "# is posted.\n", | |
| "# 8/6/2012\n", | |
| "\n", | |
| "a_series = pd.Series(comments.author.values, index=comments.created)\n", | |
| "a_series = a_series.sort_index()\n", | |
| "\n", | |
| "def most_common(x):\n", | |
| " x = x.dropna()\n", | |
| " if len(x) > 0:\n", | |
| " counts = x.value_counts()\n", | |
| " return counts.index[0], float(counts[0]) / counts.sum()\n", | |
| " #return counts.index[0] \n", | |
| " else:\n", | |
| " return None\n", | |
| "\n", | |
| "def nparticipants(x):\n", | |
| " return len(x.unique())\n", | |
| " \n", | |
| "results = a_series.resample('M', how=['count', most_common, nparticipants])\n", | |
| "results" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>count</th>\n", | |
| " <th>most_common</th>\n", | |
| " <th>nparticipants</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>created</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2010-09-30</th>\n", | |
| " <td> 3</td>\n", | |
| " <td> (wesm, 1.0)</td>\n", | |
| " <td> 1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2010-10-31</th>\n", | |
| " <td> 2</td>\n", | |
| " <td> (hector13, 0.5)</td>\n", | |
| " <td> 2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2010-11-30</th>\n", | |
| " <td> 2</td>\n", | |
| " <td> (wesm, 1.0)</td>\n", | |
| " <td> 1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2010-12-31</th>\n", | |
| " <td> 30</td>\n", | |
| " <td> (wesm, 0.733333333333)</td>\n", | |
| " <td> 4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-01-31</th>\n", | |
| " <td> 13</td>\n", | |
| " <td> (wesm, 0.846153846154)</td>\n", | |
| " <td> 2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-02-28</th>\n", | |
| " <td> 11</td>\n", | |
| " <td> (wesm, 0.909090909091)</td>\n", | |
| " <td> 2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-03-31</th>\n", | |
| " <td> 10</td>\n", | |
| " <td> (wesm, 0.5)</td>\n", | |
| " <td> 3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-04-30</th>\n", | |
| " <td> 0</td>\n", | |
| " <td> None</td>\n", | |
| " <td> 0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-05-31</th>\n", | |
| " <td> 6</td>\n", | |
| " <td> (wesm, 0.5)</td>\n", | |
| " <td> 2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-06-30</th>\n", | |
| " <td> 27</td>\n", | |
| " <td> (wesm, 0.925925925926)</td>\n", | |
| " <td> 2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-07-31</th>\n", | |
| " <td> 58</td>\n", | |
| " <td> (wesm, 0.603448275862)</td>\n", | |
| " <td> 9</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-08-31</th>\n", | |
| " <td> 20</td>\n", | |
| " <td> (wesm, 0.75)</td>\n", | |
| " <td> 5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-09-30</th>\n", | |
| " <td> 76</td>\n", | |
| " <td> (wesm, 0.763157894737)</td>\n", | |
| " <td> 11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-10-31</th>\n", | |
| " <td> 176</td>\n", | |
| " <td> (wesm, 0.636363636364)</td>\n", | |
| " <td> 18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-11-30</th>\n", | |
| " <td> 185</td>\n", | |
| " <td> (wesm, 0.681081081081)</td>\n", | |
| " <td> 26</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2011-12-31</th>\n", | |
| " <td> 219</td>\n", | |
| " <td> (wesm, 0.62100456621)</td>\n", | |
| " <td> 22</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-01-31</th>\n", | |
| " <td> 305</td>\n", | |
| " <td> (wesm, 0.481967213115)</td>\n", | |
| " <td> 31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-02-29</th>\n", | |
| " <td> 216</td>\n", | |
| " <td> (wesm, 0.444444444444)</td>\n", | |
| " <td> 25</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-03-31</th>\n", | |
| " <td> 227</td>\n", | |
| " <td> (wesm, 0.220264317181)</td>\n", | |
| " <td> 36</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-04-30</th>\n", | |
| " <td> 241</td>\n", | |
| " <td> (wesm, 0.477178423237)</td>\n", | |
| " <td> 37</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-05-31</th>\n", | |
| " <td> 325</td>\n", | |
| " <td> (wesm, 0.510769230769)</td>\n", | |
| " <td> 30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-06-30</th>\n", | |
| " <td> 319</td>\n", | |
| " <td> (wesm, 0.485893416928)</td>\n", | |
| " <td> 45</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-07-31</th>\n", | |
| " <td> 224</td>\n", | |
| " <td> (wesm, 0.334821428571)</td>\n", | |
| " <td> 43</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-08-31</th>\n", | |
| " <td> 188</td>\n", | |
| " <td> (wesm, 0.356382978723)</td>\n", | |
| " <td> 46</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-09-30</th>\n", | |
| " <td> 333</td>\n", | |
| " <td> (wesm, 0.525525525526)</td>\n", | |
| " <td> 47</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-10-31</th>\n", | |
| " <td> 261</td>\n", | |
| " <td> (wesm, 0.329501915709)</td>\n", | |
| " <td> 48</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-11-30</th>\n", | |
| " <td> 699</td>\n", | |
| " <td> (wesm, 0.367668097282)</td>\n", | |
| " <td> 73</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2012-12-31</th>\n", | |
| " <td> 782</td>\n", | |
| " <td> (wesm, 0.313299232737)</td>\n", | |
| " <td> 70</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-01-31</th>\n", | |
| " <td> 453</td>\n", | |
| " <td> (wesm, 0.251655629139)</td>\n", | |
| " <td> 57</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-02-28</th>\n", | |
| " <td> 641</td>\n", | |
| " <td> (jreback, 0.307332293292)</td>\n", | |
| " <td> 55</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-03-31</th>\n", | |
| " <td> 1287</td>\n", | |
| " <td> (jreback, 0.334887334887)</td>\n", | |
| " <td> 79</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-04-30</th>\n", | |
| " <td> 1132</td>\n", | |
| " <td> (y-p, 0.320671378092)</td>\n", | |
| " <td> 84</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-05-31</th>\n", | |
| " <td> 1278</td>\n", | |
| " <td> (jreback, 0.412363067293)</td>\n", | |
| " <td> 82</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2013-06-30</th>\n", | |
| " <td> 1213</td>\n", | |
| " <td> (jreback, 0.382522671063)</td>\n", | |
| " <td> 54</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 59, | |
| "text": [ | |
| " count most_common nparticipants\n", | |
| "created \n", | |
| "2010-09-30 3 (wesm, 1.0) 1\n", | |
| "2010-10-31 2 (hector13, 0.5) 2\n", | |
| "2010-11-30 2 (wesm, 1.0) 1\n", | |
| "2010-12-31 30 (wesm, 0.733333333333) 4\n", | |
| "2011-01-31 13 (wesm, 0.846153846154) 2\n", | |
| "2011-02-28 11 (wesm, 0.909090909091) 2\n", | |
| "2011-03-31 10 (wesm, 0.5) 3\n", | |
| "2011-04-30 0 None 0\n", | |
| "2011-05-31 6 (wesm, 0.5) 2\n", | |
| "2011-06-30 27 (wesm, 0.925925925926) 2\n", | |
| "2011-07-31 58 (wesm, 0.603448275862) 9\n", | |
| "2011-08-31 20 (wesm, 0.75) 5\n", | |
| "2011-09-30 76 (wesm, 0.763157894737) 11\n", | |
| "2011-10-31 176 (wesm, 0.636363636364) 18\n", | |
| "2011-11-30 185 (wesm, 0.681081081081) 26\n", | |
| "2011-12-31 219 (wesm, 0.62100456621) 22\n", | |
| "2012-01-31 305 (wesm, 0.481967213115) 31\n", | |
| "2012-02-29 216 (wesm, 0.444444444444) 25\n", | |
| "2012-03-31 227 (wesm, 0.220264317181) 36\n", | |
| "2012-04-30 241 (wesm, 0.477178423237) 37\n", | |
| "2012-05-31 325 (wesm, 0.510769230769) 30\n", | |
| "2012-06-30 319 (wesm, 0.485893416928) 45\n", | |
| "2012-07-31 224 (wesm, 0.334821428571) 43\n", | |
| "2012-08-31 188 (wesm, 0.356382978723) 46\n", | |
| "2012-09-30 333 (wesm, 0.525525525526) 47\n", | |
| "2012-10-31 261 (wesm, 0.329501915709) 48\n", | |
| "2012-11-30 699 (wesm, 0.367668097282) 73\n", | |
| "2012-12-31 782 (wesm, 0.313299232737) 70\n", | |
| "2013-01-31 453 (wesm, 0.251655629139) 57\n", | |
| "2013-02-28 641 (jreback, 0.307332293292) 55\n", | |
| "2013-03-31 1287 (jreback, 0.334887334887) 79\n", | |
| "2013-04-30 1132 (y-p, 0.320671378092) 84\n", | |
| "2013-05-31 1278 (jreback, 0.412363067293) 82\n", | |
| "2013-06-30 1213 (jreback, 0.382522671063) 54" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 59 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pd.rolling_mean(a_series.resample('D', how='count'), 30).plot()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 60, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10d6af350>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nrxJ/DCEAAAAASUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10d691f10>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 60 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "results['count'].plot()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 61, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10e0a7250>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10e0bb1d0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 61 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def nice(x):\n", | |
| " return x.rename(lambda x: x.strftime('%b-%Y'))\n", | |
| "\n", | |
| "plt.figure(figsize=(4, 8))\n", | |
| "nice(results.nparticipants).plot(kind='barh')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 62, | |
| "text": [ | |
| "<matplotlib.axes.AxesSubplot at 0x10e320c90>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\nAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10e0ae350>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 62 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 62 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# \"Chattiness\"\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 63 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Time til first collaborator comment\n", | |
| "issues" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<pre>\n", | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "DatetimeIndex: 3881 entries, 2013-06-12 18:31:16 to 2011-04-06 00:15:26\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), datetime64[ns](2), int64(1), object(3)\n", | |
| "</pre>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 64, | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "DatetimeIndex: 3881 entries, 2013-06-12 18:31:16 to 2011-04-06 00:15:26\n", | |
| "Data columns (total 7 columns):\n", | |
| "title 3881 non-null values\n", | |
| "created_at 3881 non-null values\n", | |
| "labels 3881 non-null values\n", | |
| "closed_at 3232 non-null values\n", | |
| "user 3881 non-null values\n", | |
| "id 3881 non-null values\n", | |
| "closed 3881 non-null values\n", | |
| "dtypes: bool(1), datetime64[ns](2), int64(1), object(3)" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 64 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "closed_issues[1000]['labels']" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 65, | |
| "text": [ | |
| "[]" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 65 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "all_ids = []\n", | |
| "all_labels = []\n", | |
| "\n", | |
| "for iid, labels in zip(issues.id, issues.labels):\n", | |
| " for lab in labels:\n", | |
| " all_ids.append(iid)\n", | |
| " all_labels.append(lab['name'])\n", | |
| " \n", | |
| " if len(labels) == 0:\n", | |
| " all_ids.append(iid)\n", | |
| " all_labels.append(None)\n", | |
| " \n", | |
| "labels = pd.DataFrame({'id': all_ids, 'label': all_labels})\n", | |
| "labels.head()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>id</th>\n", | |
| " <th>label</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td> 15466125</td>\n", | |
| " <td> None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td> 15453336</td>\n", | |
| " <td> None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td> 15453214</td>\n", | |
| " <td> None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td> 15431944</td>\n", | |
| " <td> None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td> 15430880</td>\n", | |
| " <td> None</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 66, | |
| "text": [ | |
| " id label\n", | |
| "0 15466125 None\n", | |
| "1 15453336 None\n", | |
| "2 15453214 None\n", | |
| "3 15431944 None\n", | |
| "4 15430880 None" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 66 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "merged = pd.merge(issues, labels, on='id')\n", | |
| "merged.groupby('label').size().order()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 67, | |
| "text": [ | |
| "label\n", | |
| "Error Reporting 3\n", | |
| "Dupe 4\n", | |
| "Multithreading 5\n", | |
| "Usage 6\n", | |
| "Stats 10\n", | |
| "Can't Repro 11\n", | |
| "Missing-data 11\n", | |
| "Note To Selves 11\n", | |
| "Prio-low 14\n", | |
| "Regression 14\n", | |
| "Reshaping 14\n", | |
| "Unicode 15\n", | |
| "Good as first PR 16\n", | |
| "API 25\n", | |
| "Refactor 31\n", | |
| "Prio-medium 41\n", | |
| "Performance 44\n", | |
| "Ideas 52\n", | |
| "Community 54\n", | |
| "Dtypes 56\n", | |
| "Output-Formatting 64\n", | |
| "Build problem 70\n", | |
| "Testing 80\n", | |
| "Groupby 83\n", | |
| "Indexing 93\n", | |
| "Visualization 117\n", | |
| "Prio-high 128\n", | |
| "Docs 138\n", | |
| "Data IO 198\n", | |
| "Timeseries 363\n", | |
| "Enhancement 858\n", | |
| "Bug 1128\n", | |
| "dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 67 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "with_labels = pd.merge(issues, labels, on='id')\n", | |
| "with_labels.groupby('label').size().order(ascending=False)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 68, | |
| "text": [ | |
| "label\n", | |
| "Bug 1128\n", | |
| "Enhancement 858\n", | |
| "Timeseries 363\n", | |
| "Data IO 198\n", | |
| "Docs 138\n", | |
| "Prio-high 128\n", | |
| "Visualization 117\n", | |
| "Indexing 93\n", | |
| "Groupby 83\n", | |
| "Testing 80\n", | |
| "Build problem 70\n", | |
| "Output-Formatting 64\n", | |
| "Dtypes 56\n", | |
| "Community 54\n", | |
| "Ideas 52\n", | |
| "Performance 44\n", | |
| "Prio-medium 41\n", | |
| "Refactor 31\n", | |
| "API 25\n", | |
| "Good as first PR 16\n", | |
| "Unicode 15\n", | |
| "Reshaping 14\n", | |
| "Regression 14\n", | |
| "Prio-low 14\n", | |
| "Note To Selves 11\n", | |
| "Missing-data 11\n", | |
| "Can't Repro 11\n", | |
| "Stats 10\n", | |
| "Usage 6\n", | |
| "Multithreading 5\n", | |
| "Dupe 4\n", | |
| "Error Reporting 3\n", | |
| "dtype: int64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 68 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "time_to_close_id" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 69, | |
| "text": [ | |
| "id\n", | |
| "15466125 0.045984\n", | |
| "15453336 0.307234\n", | |
| "15453214 0.017824\n", | |
| "15431944 0.037373\n", | |
| "15430880 0.764699\n", | |
| "15426986 0.082477\n", | |
| "15405714 0.064699\n", | |
| "15385558 0.091250\n", | |
| "15380909 0.436632\n", | |
| "15369588 1.928391\n", | |
| "15367526 0.877095\n", | |
| "15363520 0.000150\n", | |
| "15358003 0.020150\n", | |
| "15357764 1.885648\n", | |
| "15356080 0.119410\n", | |
| "...\n", | |
| "358943 59.589699\n", | |
| "356064 131.537049\n", | |
| "352369 796.912072\n", | |
| "344725 69.230937\n", | |
| "341583 142.049699\n", | |
| "341581 265.878900\n", | |
| "341577 229.176354\n", | |
| "339355 266.377986\n", | |
| "338909 72.604225\n", | |
| "337994 73.023958\n", | |
| "337736 79.076088\n", | |
| "337730 73.224363\n", | |
| "337728 94.957870\n", | |
| "337726 79.088426\n", | |
| "337721 143.936308\n", | |
| "Length: 3232, dtype: float64" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 69 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 69 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "labels['time_to_close'] = labels.id.map(time_to_close_id)\n", | |
| "\n", | |
| "everything = pd.merge(issues, labels)\n", | |
| "\n", | |
| "grouped = everything.groupby('label').time_to_close\n", | |
| "statistics = grouped.agg(['count', 'mean', 'median', 'max', 'min'])\n", | |
| "\n", | |
| "statistics['min_minutes'] = statistics['min'] * 24 * 60\n", | |
| "\n", | |
| "statistics[statistics['count'] > 100]\n" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>count</th>\n", | |
| " <th>mean</th>\n", | |
| " <th>median</th>\n", | |
| " <th>max</th>\n", | |
| " <th>min</th>\n", | |
| " <th>min_minutes</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>label</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>Bug</th>\n", | |
| " <td> 1014</td>\n", | |
| " <td> 13.275700</td>\n", | |
| " <td> 2.625590</td>\n", | |
| " <td> 394.091736</td>\n", | |
| " <td> 0.000845</td>\n", | |
| " <td> 1.216667</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Data IO</th>\n", | |
| " <td> 126</td>\n", | |
| " <td> 32.557035</td>\n", | |
| " <td> 7.970220</td>\n", | |
| " <td> 329.296389</td>\n", | |
| " <td> 0.001204</td>\n", | |
| " <td> 1.733333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Docs</th>\n", | |
| " <td> 102</td>\n", | |
| " <td> 23.702124</td>\n", | |
| " <td> 5.713495</td>\n", | |
| " <td> 287.376782</td>\n", | |
| " <td> 0.000255</td>\n", | |
| " <td> 0.366667</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Enhancement</th>\n", | |
| " <td> 588</td>\n", | |
| " <td> 48.035074</td>\n", | |
| " <td> 8.611881</td>\n", | |
| " <td> 796.912072</td>\n", | |
| " <td> 0.000058</td>\n", | |
| " <td> 0.083333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Prio-high</th>\n", | |
| " <td> 123</td>\n", | |
| " <td> 14.590127</td>\n", | |
| " <td> 1.830845</td>\n", | |
| " <td> 252.790949</td>\n", | |
| " <td> 0.000845</td>\n", | |
| " <td> 1.216667</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Timeseries</th>\n", | |
| " <td> 288</td>\n", | |
| " <td> 21.710290</td>\n", | |
| " <td> 4.882153</td>\n", | |
| " <td> 261.369537</td>\n", | |
| " <td> 0.002431</td>\n", | |
| " <td> 3.500000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 70, | |
| "text": [ | |
| " count mean median max min min_minutes\n", | |
| "label \n", | |
| "Bug 1014 13.275700 2.625590 394.091736 0.000845 1.216667\n", | |
| "Data IO 126 32.557035 7.970220 329.296389 0.001204 1.733333\n", | |
| "Docs 102 23.702124 5.713495 287.376782 0.000255 0.366667\n", | |
| "Enhancement 588 48.035074 8.611881 796.912072 0.000058 0.083333\n", | |
| "Prio-high 123 14.590127 1.830845 252.790949 0.000845 1.216667\n", | |
| "Timeseries 288 21.710290 4.882153 261.369537 0.002431 3.500000" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 70 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "labels['time_to_close'] = labels.id.map(time_to_closed_id)\n", | |
| "labels.groupby('label').time_to_close.agg(['mean', 'count']).sort('count')" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "html": [ | |
| "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>mean</th>\n", | |
| " <th>count</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>label</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>Note To Selves</th>\n", | |
| " <td> 36.273669</td>\n", | |
| " <td> 1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Error Reporting</th>\n", | |
| " <td> 2.001192</td>\n", | |
| " <td> 1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Multithreading</th>\n", | |
| " <td> 42.334792</td>\n", | |
| " <td> 3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Dupe</th>\n", | |
| " <td> 7.953403</td>\n", | |
| " <td> 4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Usage</th>\n", | |
| " <td> 7.595692</td>\n", | |
| " <td> 5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Good as first PR</th>\n", | |
| " <td> 58.303630</td>\n", | |
| " <td> 5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Missing-data</th>\n", | |
| " <td> 44.201061</td>\n", | |
| " <td> 6</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Stats</th>\n", | |
| " <td> 64.405637</td>\n", | |
| " <td> 6</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Reshaping</th>\n", | |
| " <td> 8.085771</td>\n", | |
| " <td> 8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Regression</th>\n", | |
| " <td> 2.025528</td>\n", | |
| " <td> 8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Prio-low</th>\n", | |
| " <td> 18.580193</td>\n", | |
| " <td> 9</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Can't Repro</th>\n", | |
| " <td> 53.689413</td>\n", | |
| " <td> 10</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>API</th>\n", | |
| " <td> 9.047280</td>\n", | |
| " <td> 11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Unicode</th>\n", | |
| " <td> 34.888754</td>\n", | |
| " <td> 13</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Ideas</th>\n", | |
| " <td> 29.522814</td>\n", | |
| " <td> 14</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Refactor</th>\n", | |
| " <td> 16.248433</td>\n", | |
| " <td> 17</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Performance</th>\n", | |
| " <td> 10.628944</td>\n", | |
| " <td> 20</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Community</th>\n", | |
| " <td> 65.968383</td>\n", | |
| " <td> 25</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Dtypes</th>\n", | |
| " <td> 9.780838</td>\n", | |
| " <td> 27</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Prio-medium</th>\n", | |
| " <td> 66.635368</td>\n", | |
| " <td> 35</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Output-Formatting</th>\n", | |
| " <td> 26.399247</td>\n", | |
| " <td> 39</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Groupby</th>\n", | |
| " <td> 35.504929</td>\n", | |
| " <td> 54</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Indexing</th>\n", | |
| " <td> 17.853236</td>\n", | |
| " <td> 57</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Build problem</th>\n", | |
| " <td> 14.625669</td>\n", | |
| " <td> 64</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Testing</th>\n", | |
| " <td> 15.196128</td>\n", | |
| " <td> 65</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Visualization</th>\n", | |
| " <td> 17.075993</td>\n", | |
| " <td> 76</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Docs</th>\n", | |
| " <td> 23.702124</td>\n", | |
| " <td> 102</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Prio-high</th>\n", | |
| " <td> 14.590127</td>\n", | |
| " <td> 123</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Data IO</th>\n", | |
| " <td> 32.557035</td>\n", | |
| " <td> 126</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Timeseries</th>\n", | |
| " <td> 21.710290</td>\n", | |
| " <td> 288</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Enhancement</th>\n", | |
| " <td> 48.035074</td>\n", | |
| " <td> 588</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bug</th>\n", | |
| " <td> 13.275700</td>\n", | |
| " <td> 1014</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 71, | |
| "text": [ | |
| " mean count\n", | |
| "label \n", | |
| "Note To Selves 36.273669 1\n", | |
| "Error Reporting 2.001192 1\n", | |
| "Multithreading 42.334792 3\n", | |
| "Dupe 7.953403 4\n", | |
| "Usage 7.595692 5\n", | |
| "Good as first PR 58.303630 5\n", | |
| "Missing-data 44.201061 6\n", | |
| "Stats 64.405637 6\n", | |
| "Reshaping 8.085771 8\n", | |
| "Regression 2.025528 8\n", | |
| "Prio-low 18.580193 9\n", | |
| "Can't Repro 53.689413 10\n", | |
| "API 9.047280 11\n", | |
| "Unicode 34.888754 13\n", | |
| "Ideas 29.522814 14\n", | |
| "Refactor 16.248433 17\n", | |
| "Performance 10.628944 20\n", | |
| "Community 65.968383 25\n", | |
| "Dtypes 9.780838 27\n", | |
| "Prio-medium 66.635368 35\n", | |
| "Output-Formatting 26.399247 39\n", | |
| "Groupby 35.504929 54\n", | |
| "Indexing 17.853236 57\n", | |
| "Build problem 14.625669 64\n", | |
| "Testing 15.196128 65\n", | |
| "Visualization 17.075993 76\n", | |
| "Docs 23.702124 102\n", | |
| "Prio-high 14.590127 123\n", | |
| "Data IO 32.557035 126\n", | |
| "Timeseries 21.710290 288\n", | |
| "Enhancement 48.035074 588\n", | |
| "Bug 13.275700 1014" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 71 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment