{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Finding out what I like using Trello\n",
"\n",
"# Part 1: Visualizing and understanding the data\n",
"---\n",
"\n",
"Blog post: [jtp.io/2015/05/11/trello-reading-stats.html](http://www.jtp.io/2015/05/11/trello-reading-stats.html)\n",
"\n",
"## Using Trello to organize articles\n",
"\n",
"I tend to spend a lot of time on the Internet reading articles about almost everything.\n",
"\n",
"But there is a problem: it is very easy to be overwhelmed by tons of stuff to read and watch. \n",
"\n",
"In the beginning, I was doing it the lazy way, opening a new tab with the content I wanted to read, telling myself: \"yes I will go back to it soon, it sounds very interesting and if I don't read it, I will miss out on something cool\". But this tab would stay opened for months (really). Sometimes it would be closed by inadvertance or lazyness and would be forgotten in the limbo.\n",
"\n",
"This was a bad habit. One day I discovered Trello, a genuine project management tool, and I decided to give it a try. I would use it not for work or anything related, but just as a personal assistant to remember some of my stuff.\n",
"\n",
"Quickly it became part of my daily routine. Along with the mobile app, it turned out to be a convenient way to access any content that I have stored on Trello. Naturally, the idea of using it to save and organize articles came by itself.\n",
"\n",
"I created a board called *To Read and Watch*, with four lists:\n",
"- To Read\n",
"- To Watch\n",
"- Done\n",
"- Save\n",
"\n",
"\n",
"\n",
"How does it work? Everytime I spot or open an article that looks interesting and I know I will have to read it sooner or later, I reference it in the list *To Read* as a card. The title of the card corresponds to the title of the article and the link is in the description.\n",
"\n",
"\n",
"\n",
"I use labels to classify my articles, so when I want to read something I can easily make a choice depending on my current mood. Some labels examples:\n",
"- Programming\n",
"- Maths\n",
"- News\n",
"- Culture\n",
"- Music\n",
"- ...\n",
"\n",
"When I am done reading or watching, I move the card to the list *Done*, or the list *Save* if it was a good read that could lead to further investigations.\n",
"\n",
"I have been doing this for more than one year already and this has been very convenient to me. It is way more flexible because Trello can be accessed from my personal computer, phone, tablet, work computer ... In a way, I always feel like there is something to learn and read, wherever I could be as long as I have one of these devices with me. If I have to wait for the bus for example and feel bored, I know there is already a selection of interesting stuff that are just waiting to be \"processed\".\n",
"\n",
"## Knowing more about myself\n",
"\n",
"Structuring my readings with this method makes it straightforward to keep track of everything. Sometimes I recall something I have read somewhere on the Internet, but it's been too long or my memories are too fusy. Trello provides a good search functionality, so there is a way to find the related article, as long as I remember what it was about.\n",
"\n",
"I am usually very curious, and seeing all of this data being created and stored (by me!) makes me want to analyze it in order to know more about myself.\n",
"\n",
"There are a lot of questions that can be asked about reading habits. Many of them relate to personal interests and can teach new things about personality:\n",
"- How many articles have I read or are still in the queue?\n",
"- What is the label I use the most?\n",
"- How long does an article stay in the *To Read* in average?\n",
"- What day of the week are there the most articles moved from *To Read* to *Done*?\n",
"- What kind of topic is the most present in my lists?\n",
"\n",
"\n",
"All of this is very exciting. As I am writing right now I haven't even started playing with the data, Python and graphs, but I know the results will be fascinating.\n",
"\n",
"## How to do that?\n",
"\n",
"Trello provides an API, and that's a good news. With the API it's even possible to access more data than using the standard web UI.\n",
"\n",
"So that's our tool! Couple to that I will use Python, because requests, beautifulsoup and matplotlib are wonderful tools.\n",
"\n",
"## Structure\n",
"\n",
"The notebook has been built as a collection of experiments, that have been added progressively (more like a draft).\n",
"\n",
"I keep iterating on this so there might be more content or modifications in the future.\n",
"\n",
"## Getting started with the Trello API\n",
"\n",
"Let's get started!\n",
"\n",
"First thing to do is to become more familiar with the API. This first part will be all about data wrangling and how to arrange the data in a nice way so it becomes easy to use.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import os\n",
"import requests\n",
"import json\n",
"\n",
"TRELLO_API = 'https://api.trello.com/1/'\n",
"\n",
"# Read the API keys from the environment variables\n",
"TRELLO_API_KEY = os.getenv('TRELLO_API_KEY', '')\n",
"TRELLO_API_SECRET = os.getenv('TRELLO_API_SECRET', '')\n",
"TRELLO_TOKEN = os.getenv('TRELLO_TOKEN', '')\n",
"\n",
"auth = '?key=' + TRELLO_API_KEY + '&token=' + TRELLO_TOKEN\n",
"\n",
"BOARD_ID = os.getenv('TRELLO_BOARD_ID', '')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that everything is set up, let's start getting some data.\n",
"\n",
"## Get the total number of cards for each of the four lists\n",
"\n",
"An easy one to get started. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The list \"To Read\" contains 44 cards\n",
"The list \"To Watch\" contains 21 cards\n",
"The list \"Save\" contains 62 cards\n",
"The list \"Done\" contains 228 cards\n"
]
}
],
"source": [
"# Get the board\n",
"board = requests.get(TRELLO_API + 'boards/' + BOARD_ID + auth).json()\n",
"\n",
"# Get the board labels\n",
"board_labels = board['labelNames'];\n",
"\n",
"# Basic information about the lists in that board\n",
"raw_lists = requests.get(TRELLO_API + 'boards/' + BOARD_ID + '/lists' + auth).json()\n",
"\n",
"lists_filter = ['To Read', 'To Watch', 'Done', 'Save']\n",
"\n",
"# Reformat the lists to a dic list_name -> list_id\n",
"lists_ids = {x['name']: x['id'] for x in raw_lists if x['name'] in lists_filter}\n",
"\n",
"# Define a function to retrieve all actions for a given list\n",
"def get_actions(list_id):\n",
" res = []\n",
" page = 0\n",
" data = [1]\n",
" # Paging\n",
" while len(data) != 0:\n",
" data = requests.get(TRELLO_API + 'lists/' + list_id + '/actions' \n",
" + auth + '&page=' + str(page) + 'limit=1000').json() \n",
" res += data\n",
" page += 1\n",
" \n",
" return res\n",
"\n",
"\n",
"def get_list(list_id):\n",
" return {\n",
" 'cards': requests.get(TRELLO_API + 'lists/' + list_id + '/cards/all' + auth).json(),\n",
" 'actions': get_actions(list_id)\n",
" }\n",
"\n",
"ls = {list_name: get_list(lists_ids[list_name]) for list_name in lists_ids.keys()}\n",
"\n",
"number_cards_per_list = {x: len(c['cards']) for x, c in ls.items()}\n",
"\n",
"for x, c in ls.items():\n",
" print('The list \"' + x + '\" contains ' + str(len(c['cards'])) + ' cards')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Visualized:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAFrCAYAAAAThQW0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xl0VHWe9/FPLamkKvtCFhIIIZCAoQHZFFFRbFQEFWlF\nFO3A9ExLa+tp95npbkedPj2tj6cZOfPQPm2rcVxQQUSwZSe0LNICIopCIAlrWJKQFVLZqur5AylN\nEyD+SFIk9X6d4yG593dvfW++ufjh1u/esuTn5/sEAAAA4AezBroAAAAAoKsiTAMAAACGCNMAAACA\nIcI0AAAAYIgwDQAAABgiTAMAAACGCNMAAACAIcI0AAAAYMge6AK6g7Fjx6qi4qS8Xj7/pruzWi2K\niwun30GCfgcX+h1c6HdwsVot+uqrLR2z7w7Za5CxWCyyWi2BLgOdwGq10O8gQr+DC/0OLvQ7uHRk\nnwnTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjT\nAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCF7oAvoDkpKSlRVVSePxxvoUtDBbDar6upc\n9DtI0O/gQr+DC/1uXXx8ghwOR6DL6FII0+3gvSWfyBEWLi/nYrdntUphoQ7VNzTS7yBAv4ML/Q4u\n9PtMtdWVmnTd5UpJ6RnoUroUwnQ7iIqOlSsiRl6vL9CloINZrRY5wxxy1zfS7yBAv4ML/Q4u9Bvt\nhTnTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjT\nAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAA\ngCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYsge6AAAAgK6g5GCxvty6\nQfuKdqqq8rhcrgil9s7UtTdMUXyPZEmSz+fT9q3rteurrTp65IDcdScVG9dDOUNGafTYCbLbQ1rs\ns95dp3Vrlqhgx+eqqalUeESk+vbL0dXjb1V0THwgDhM/EGEaAACgDTau/ViH9hfqksEjlZjSSydq\nqrR542q9/OLT+qdf/laJyalqamzQ4vmvKq13pkZcPk7hEZE6uL9Qa1cu0t7CnfrpfU/69+fzevXm\nX/6Pyo8d0Ygrxim+R7Iqyo9py6drVLR7h+5/7PdyhIYF8IjRFhdlmM7Ly9OmTZskSVarVeHh4UpN\nTdXIkSN1xRVXyGKxBLhCAAAQbC6/+kalpmXIarP5l+UMuUwv/fE32rD2I9027T7Z7Hb90/2/Vlp6\nP/+YS0eNVUxsgtauXKTiPd+ob/9LJEmHDhTp8KF9umnyvRoxepx/fHyPZC2e/6r2Fn6j7JxhnXeA\nMHJRhmlJysnJUW5urnw+n2pqarRjxw699957+vzzz/XAAw/IamW6NwAA6Dy9vheQT4tLSFKPpJ46\nXnpUkmSz2VsE6dOyc4Zp7cpFOl522B+mGxrckqTwiMgWYyMioyVJ9hBHu9aPjnHRhmm73a6oqChJ\nUnR0tHr16qW+fftq9uzZ2rhxo6688kpVVFTonXfe0a5du2SxWJSTk6Np06b5t1uyZIm2b9+uH//4\nx1q8eLHq6uo0aNAg3XPPPQoLO/W2ic/n07Jly7R+/XpVV1crKSlJEydO1LBh/EsQAACcm8/n04kT\nNUpMTjvnuBO11ZIkl+u74Nwzra8cIaHKX/6BwpwR/mkeq/76nlJ7Zahvv0s6tHa0j4s2TLcmOztb\naWlp+uKLLzRmzBjNnTtXYWFheuyxx+TxeDRv3jy9/PLLevTRR/3blJWVafv27frlL3+puro6/fnP\nf9ayZcs0efJkSdLSpUv12Wefafr06UpMTNSePXv06quvKiIiQllZWYE6VAAA0AV8te1T1dZU6dob\nppxz3Ma/LVVYmFP9Bgz2L3OFR+gn03+hj95/TW+8/Lx/eWbWIN1x7y9l4V34LqFLhWlJSkpKUklJ\niXbt2qWSkhL9/ve/V2xsrCRp5syZeuaZZ7R//36lp6dLOvUvxhkzZig0NFSSdNlll2nXrl2SpKam\nJi1btkwPP/ywMjIyJEkJCQnas2eP1q1b94PCtNVi4UGDQcD67Xx9+h0c6Hdwod/BpT36XVZ6WEsX\nvaFe6f106cirznpP1yerl2hv4TeaNCVXTperxbrwyEglp6ZrVEaWEpNSdaRkvzas/ViL3/uLpv70\nl2aFGbJaJZvNKru9+50ANlvHHVOXC9M+n08Wi0VHjhxRXFycP0hLUkpKipxOp44cOeIP0/Hx8f4g\nLZ2aMlJbWyvp1FXrxsZGzZ49u8VreDwe9erV6wfVFRoacv5B6Dbod3Ch38GFfgcX037X1lRp3quz\n5XKFK/fnj8jlDG113Patnyp/2fsaNfpaXXXtDS3WHS8/ptdfek7Tch/QoCEjJUlDh1+mxKRkzX/z\nJR0o/kbZlww1qs9EWKhDMTEuxcaGd9prdgddLkwfPXpUCQkJbR5v+94dt6f5fD5JUkNDgyTpwQcf\nVExMTIsxdvsP+9E0NDTJ++1+0X1ZLRaFhobQ7yBBv4ML/Q4uF9Lvened8v70X6p3uzXzgX+X3eGS\nu77xjHFFu3fo3f+dq6xLhurGyfeeMWbT+nw1NzepT7+cFusy+v9IPkmFu3epd9/Omzdd39Coqqo6\nuVwnO+01OwtXpr+1a9cuHT58WOPHj1dMTIwqKipUWVnpvzp9+PBhud1u9ezZs037S0lJkd1u1/Hj\nx9W/f/8Lqs3r88nr5S/fbu/bc5F+Bwn6HVzod3Ax7HdzU6PefnW2KspLdc/PH1d8Qkqr2x86UKR3\n8uaoZ6+++sn0+yVZzhh3orZa8vnkafbIYvnu4l9zc7OkU++Ud+bvotcreTxeNTd7O+01u4OLNkw3\nNzerpqZGHo9HtbW12rFjh5YvX67Bgwfr8ssvl8ViUWpqql555RVNnTpVHo9Hb7/9trKystS7d+82\nvUZYWJjGjx+v+fPny+fzqV+/fnK73SosLJTT6dTo0aM7+CgBAEBX4fV6teCtP6nkQLHunPGQ0npn\ntjqu7NhhzXt1tmLjeuiumb8641MPT4vvkSyfpK+3f6YhI670L9/xxanP2khJbVueQWBdtGH666+/\n1hNPPCGr1SqXy6VevXpp2rRpLQLu/fffr3feeUcvvPCCLBaLBg0apGnTpp1zvxaLpcUNArfeeqsi\nIyO1bNkylZeXy+l0Kj09XRMmTOiwYwMAAF3Pyo/maffOL5Q1cKjqTp7Ql59vbLF+8LAr1FDv1luv\nvKD6+jpdcc1N2r3zixZj4uIT/c+hHjriSn36t2X6aGGejh7er4TEVB0t2adtm9cpMSlVA3KGd9qx\nwZwlPz+f97IuUNGRerkiYnhbMAhYrRY5wxxy1zfS7yBAv4ML/Q4uJv1+/aU/6MDeArU22iLpt8+9\npqqKMs157glZpFbHDR1+pW6Z+jP/97XVlVq74gPtK9qpmppKucIjlTVgiMZNuF1OV4TJoRmrOF6m\nsSOylZLStumyXYndbtX27Zs7ZN+E6XZAmA4e/M82uNDv4EK/gwv9PhNh2kz3e5AgAAAA0EkI0wAA\nAIAhwjQAAABgiDANAAAAGCJMAwAAAIYI0wAAAIAhwjQAAABgiDANAAAAGCJMAwAAAIYI0wAAAIAh\nwjQAAABgiDANAAAAGCJMAwAAAIYI0wAAAIAhwjQAAABgiDANAAAAGCJMAwAAAIYI0wAAAIAhwjQA\nAABgiDANAAAAGCJMAwAAAIYI0wAAAIAhwjQAAABgiDANAAAAGLIHuoDuoKa6UvUNjfJ6A10JOprV\nKoWFOuh3kKDfwYV+Bxf6faba6spAl9AlEabbwdSbr1ZVVZ08Hs7G7s5msyomxkW/gwT9Di70O7jQ\n79bFxycEuoQuhzDdDlJTU+VynVRzMydjd2e3WxUbG06/gwT9Di70O7jQb7QX5kwDAAAAhgjTAAAA\ngCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHC\nNAAAAGCIMA0AAAAYIkwDAAAAhuyBLqA7KCkpUVVVnTweb6BLQQez2ayqq3MFpN/x8QlyOByd+poA\nAODcCNPt4L0ln8gRFi4vWbrbs1qlsFCH6hsaO7XftdWVmnTd5UpJ6dl5LwoAAM6LMN0OoqJj5YqI\nkdfrC3Qp6GBWq0XOMIfc9Y30GwAAMGcaAAAAMEWYBgAAAAwRpgEAAABDhGkAAADAEGEaAAAAMESY\nBgAAAAwRpgEAAABDhGkAAADAEGEaAAAAMESYBgAAAAwRpgEAAABDhGkAAADAEGEaAAAAMESYBgAA\nAAwRpgEAAABDhGkAAADAEGEaAAAAMESYBgAAAAwRpgEAAABDhGkAAADAEGEaAAAAMESYBgAAAAwR\npgEAAABD9kAXAHQXRw7t099WLtLB/XvU3NSk2PhEDbtsrEaNGS+fz6ftW9dr11dbdfTIAbnrTio2\nrodyhozS6LETZLeHBLp8AABggDANtIOi3Tv0zmv/rZS0Prr6x7fK4QhVxfFS1VRXSpKaGhu0eP6r\nSuudqRGXj1N4RKQO7i/U2pWLtLdwp35635MBPgIAAGDiog/TtbW1Wrx4sXbs2KGamhq5XC6lpaVp\n0qRJyszMDHR5gBrq3Vr0zp+VdclQ3XHvL1sdY7Pb9U/3/1pp6f38yy4dNVYxsQlau3KRivd8o779\nL+mskgEAQDu56MP0Sy+9JK/Xq5kzZyohIUE1NTXatWuXTp48GejSAEnSV9s+1cmTtbr2hp9Ikhob\nGxRiD5HF+t0tCTabvUWQPi07Z5jWrlyk42WHCdMAAHRBF3WYrqurU1FRkR599FH1799fkhQXF6c+\nffr4x6xcuVKffvqpysvL5XK5NHjwYP3kJz9RaGio3G63Hn/8cc2aNUuDBg3yb7Nt2zbl5eXphRde\nUEhIiCoqKrRgwQLt3LlTFotF/fr105133qn4+PjOPmR0QXsLv1FoaJhqqiv0bt6LOn78mBwhoRo8\n/Apdf/Nd55wPfaK2WpLkckV2VrkAAKAdXdRP8wgNDVVoaKi2bdum5ubmVsdYrVZNmzZNTz/9tGbO\nnKmCggK9//77kiSn06nBgwdr8+bNLbb57LPPNHToUIWEhMjj8WjOnDlyOp16/PHH9cQTTyg0NFRz\n5syRx+Pp8GNE11dRfkxer1fvvj5H/Qb8SFPv/aWGjrxKWzbla/F7r5xz241/W6qwMKf6DRjcSdUC\nAID2dFFfmbbZbMrNzdWbb76pTz75RL1791ZWVpZGjhyp1NRUSdJ1113nHx8XF6dbbrlFb7/9tu6+\n+25J0qhRo/Taa6+psbFRDodDbrdbX331le6//35J0ubNm+Xz+XTvvff695Obm6uHH35YBQUFuuSS\ntr31brVYLvJ/mqA9WC2W7/78tt+NjfVqamrUyNHjNGHyPZKkSwaPkNfbrC2b1uraG6coPiHpjH19\nsnqJ9hZ+o0lTcuV0uc79ulbJZrPKbueXrDPZbNYWf6J7o9/BhX4Hl47s80UdpiVp2LBh+tGPfqTC\nwkIVFxfr66+/1vLly/XTn/5Uo0eP1s6dO7V06VIdO3ZM9fX18ng8am5uVlNTk0JCQjRo0CDZbDZt\n375dI0eO1Oeffy6n06kBAwZIkg4dOqTS0lI99NBDLV63ublZ5eXlba4zNJRHmwWT7/fb4QiVRdLw\ny66UM8zhXz78squ0ddNalR7ep7S0Xi223771U+Uve1+jRl+rq6694byvFxbqUEyMS7Gx4e12DGi7\nqChnoEtAJ6LfwYV+40Jd9GFakkJCQjRw4EANHDhQEydO1BtvvKElS5YoKytL//M//6NrrrlGt912\nm8LDw7Vnzx698cYbam5uVkhIiOx2u4YNG6bNmzdr5MiR2rx5s0aMGCHrtzeHNTQ0KD09XT/72c/O\neN2IiIg219jQ0CSvz9dux4yLk9ViUWhoSIt+h0dGy3e0RCEOl9z1jf6xdodTPkk1NTUtlhft3qF3\n/3eusi4Zqhsn39ti3dnUNzSqqqpOLhc33nYmm82qqCinamrc8ni8gS4HHYx+Bxf6HVyC+sp0a5KT\nk/XFF19o//79kqQ77rjDv+4f50dLp6Z6vPjiizp8+LAKCgo0efJk/7r09HRt3bpVkZGRCgsLM67J\n6/PJ6yVMd3vfnovf73dKaoaK93yjqsoKxcZ/N52jpurUM6adrgj/2EMHivRO3hz17NVXP5l+vyRL\nm35vvF7J4/GquZm/8AOBn31wod/BhX7jQl3UE4VOnDihP/7xj/r73/+uQ4cOqby8XFu3btWKFSs0\ndOhQJSYmyuPxaM2aNSorK9OmTZu0bt26M/aTlZWlqKgovfLKK0pISGjxNJBRo0YpIiJCc+fOVWFh\nocrLy1VQUKB3331XlZWVnXi06KpyhoyUJH2x+ZMWy7d99olsVpv6ZJ6aUlR27LDmvTpbsXE9dNfM\nX/GphwAAdAMX9ZXpsLAwZWRkaNWqVSovL5fH41FsbKyuuuoqTZgwQSEhIbr99tu1fPlyffDBB8rK\nytLkyZOVl5d3xr5GjhypFStWaOLEiS2WOxwOPfbYY1q4cKFeeukl1dfXKyYmRgMHDpTTyTwqnF9y\nz3RdOuIqbduyTl6vR70zsrW/eJe++WqLrrx2kiIiY9RQ79Zbr7yg+vo6XXHNTdq984sW+4iLT2z1\nOdQAAODiZsnPz2duwgUqOlIvV0QM0zyCgNVqkTPMIXd9Y4t+ez0erVvzkbZvWafamirFxCZoxBXX\n6bIrx0uSqirKNOe5J2SR1NpvydDhV+qWqWfO2z+t4niZxo7IVkpKz3Y+IpyL3W5VbGy4KitP8jZw\nEKDfwYV+Bxe73art28+cCtwu++6QvQJBxmqzaez4WzV2/K2tro+J66Gnnnutk6sCAAAd7aKeMw0A\nAABczAjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAA\nhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjT\nAAAAgCHCNAAAAGCIMA0AAAAYIkwDAAAAhgjTAAAAgCHCNAAAAGCIMA0AAAAYsge6gO6gprpS9Q2N\n8noDXQk6mtUqhYU6Or3ftdWVnfdiAACgzQjT7WDqzVerqqpOHg9puruz2ayKiXEFpN/x8Qmd+noA\n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\nRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# First time we plot something, let's set everything up\n",
"from matplotlib.ticker import FuncFormatter\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"%matplotlib inline\n",
"plt.rcdefaults()\n",
"\n",
"# make it pretty!\n",
"import seaborn as sns\n",
"sns.set_palette(\"deep\", desat=.6)\n",
"sns.set_context(rc={\"figure.figsize\": (8, 4)})\n",
"\n",
"keys = list(number_cards_per_list.keys())\n",
"y = np.arange(len(number_cards_per_list.keys()))\n",
"rects = plt.barh(y, list(number_cards_per_list.values()), alpha=0.5)\n",
"plt.yticks(y + 0.4, keys)\n",
"\n",
"for i, rect in enumerate(rects):\n",
" plt.text(0.95 * rect.get_width(), rect.get_y() + rect.get_height() / 2.0, number_cards_per_list[keys[i]], ha='right', va='center')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we retrieved almost all the data we need, we can calculate stats on the cards.\n",
"\n",
"One thing to notice is that some cards are sometimes added to the list *Done* without going through the list *To Read*. This happens when I spot an article, read it directly, and think it is important enough to be remembered and stored in Trello."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Number of cards per label\n",
"\n",
"Some cards have more than one label."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total number of cards: 355\n",
"('Other', 'blue') used 35 times\n",
"('Gaming', 'black') used 4 times\n",
"('Computer Science', None) used 36 times\n",
"('Science', 'red') used 24 times\n",
"('Fun', 'orange') used 12 times\n",
"('Culture', 'yellow') used 123 times\n",
"('Programming', 'green') used 174 times\n",
"('Short Story', 'lime') used 2 times\n",
"('News', 'pink') used 14 times\n",
"('Music', 'sky') used 4 times\n",
"('Math', 'purple') used 34 times\n",
"('Personal development', None) used 1 times\n"
]
}
],
"source": [
"from collections import Counter\n",
"\n",
"big_list_of_cards = [card for c in ls.values() for card in c['cards']]\n",
"print('Total number of cards: ' + str(len(big_list_of_cards)))\n",
"\n",
"labels_list = [(label['name'], label['color']) for c in big_list_of_cards for label in c['labels']]\n",
"labels = {name: color for (name, color) in labels_list}\n",
"label_count = dict(Counter(labels_list).most_common())\n",
"\n",
"for label, number_of_cards in label_count.items():\n",
" print(str(label) + ' used ' + str(number_of_cards) + ' times')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And putting the data in a graph:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAFrCAYAAAAO3mwGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XtYVWXe//H3PnByw0ZQAQEPCCJKmocg1LQ81KiJeU6t\n1HrGK5ppuqasmcnmN5Xz2DPzTI3XOIeOU6amlamTmHkaqSw0qRATxQMaaQJCkijigc3+/eG4H3cL\nEw3YLvy8/sG99lr3+q4PaXy51722JSsry42IiIiIiIgJWH1dgIiIiIiISH2pgREREREREdNQAyMi\nIiIiIqahBkZERERERExDDYyIiIiIiJiGGhgRERERETENNTAiIiIiImIaamBERERERMQ07L4uQORK\n3HzzzRw9WkVtrT6HFcBqtRAe7lAmF1AmRsrESJkYKRMjZWKkTLwpDyOr1cKXX37WOGM3yqgijcxi\nsWC1WnxdxlXDarUok+9RJkbKxEiZGCkTI2VipEy8KQ+jxsxCDYyIiIiIiJiGGhgRERERETENNTAi\nIiIiImIaWsQvppSTk0NlZTUuVy0AiYlJOBwOH1clIiIiIo1NMzBiSlu3bgXOYrO52Ls3nz17Cnxd\nkoiIiIg0Ac3AiCklJSXRu3dvz2uXy4fFiIiIiEiT0QyMiIiIiIiYhhoYERERERExDTUw/zF//nye\nf/75yzomOzubhx9+uJEqqtvu3bvJyMigurq6Sc8rIiIiInI1uKw1MPPnz2fLli0A2Gw2wsPDSUtL\nY/jw4Vit6oXk8u3evZu5c+cyd+5cgoKCfF2OiIiIiFzlLnsRf3JyMtOmTaOmpoYdO3awZMkSbDYb\nw4YNu+yT19bWYrFYsFgsl32siIiIiIhcey67gbHb7TidTgAGDhxIbm4ueXl5DBs2jLNnz/Luu++S\nk5NDdXU10dHRjB07lsTERODcLVdLly5l+vTprFixgtLSUubMmUNZWRnLly+nuLgYm81G27Zt+elP\nf0p4eDgAH374IevWreO7776jVatWjBgxgrS0NE9NGRkZ3H333Xz55Zfs3LmTli1bMn78eK6//nrg\nXKO0aNEidu/ezbFjxwgPD+eWW25h8ODBl3Xt2dnZrFy5kqqqKrp160ZCQoJhn23btrFq1SpKSkoI\nDQ2lb9++jBgxAqvVyiuvvILb7WbGjBme/V0uF4899hgTJ04kLS2N2tpa1q5dy8cff8yxY8eIjIzk\n9ttv93ri1vd98cUXrFy5krKyMkJDQxk0aBC33nqr5/1Zs2bRv39/iouL2b59O0FBQQwfPpxbbrnF\nK8MpU6awfft2du/eTatWrZg6dSrBwcEsXLiQoqIiYmNjuffee2nTpk29rvdS35vy8nLmzp0L4LkV\nr2/fvkybNu2yvi8iIiIicu340Y9R9vPzo6qqCoA333yTkpISZsyYQcuWLcnNzWXevHn87ne/IyIi\nAoAzZ86wbt06pk6disPhICgoiOeff54BAwYwY8YMampq+Oqrrzzj5+bm8vbbbzNx4kS6du3K9u3b\nef311wkLC6NLly6e/VatWsW4ceMYP348Gzdu5NVXX+WZZ57B4XDgdrsJCwvj/vvvx+FwUFhYyKJF\niwgNDaVPnz71us4DBw6wcOFCxowZQ8+ePdmxYweZmZle++zdu5f58+czadIkEhISKCsrY9GiRQCM\nHDmSG2+8kZdeeonTp08TEBAAQH5+PmfPnqVXr14ArFmzhq1bt3LXXXcRERHB3r17efXVVwkODvY0\nghcqKiri5ZdfJj09nRtuuIHCwkIWL15McHAwffv29ey3bt06RowYwahRo8jPz+ett94iMjKSrl27\nevZZvXo1EyZMYMKECSxfvpx//vOftG7dmuHDhxMeHs7rr7/Om2++yS9+8Yt6Xe+lvjfh4eHcf//9\nvPjii8yePZvAwED8/f3r9f0QERERkWvTFTcwbrebgoICdu7cyaBBgzh69CjZ2dn84Q9/IDQ0FIBb\nb72V/Px8srOzGT16NHBuxmHKlCnExMQAUFVVxalTp+jevTutW7cGICoqynOe9evX069fP26++WYA\nhg4dyv79+1m/fr1XA9OvXz9SUlIAGDNmDFlZWRQVFdGtWzdsNhvp6emefVu1akVhYSGfffZZvRuY\nf//73yQnJ3PbbbcBMHjwYPbv309+fr5nn1WrVjFs2DDP7FDr1q1JT09nxYoVjBw5km7duhEQEEBu\nbq5nn61bt3L99dcTEBDA2bNnWbNmDQ8//DBxcXGeMfbu3cumTZvqbGA2bNhAUlISI0aMACAiIoLD\nhw+zbt06rwYmISGBn/zkJ559CgsL2bBhg1cD069fP08ew4YN449//CO333473bp181zz66+/Xu/r\nrc/3pkWLFgCEhIT8qDUwNpsVu/3aXYdls1m9vooyqYsyMVImRsrESJkYKRNvysOoMbO47AZm+/bt\n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\nzJgxjXdxIiIiImJ6lqysLPeldxO5ugzaUwldr7+8g3blsbajk169+jROUT5kt1sJC3NQUVGl3/z8\nhzIxUiZGysRImRgpEyNl4k15GNntVvLychplbD0qQURERERETEMNjIiIiIiImIYaGBERERERMQ01\nMCIiIiIiYhp6CpmY01d7ruyYjjc0fC0iIiIi0mTUwIgpbR1z8+V/WFTHG0hMTGq8okRERESk0amB\nEVNKSUnRowpFRERErkFaAyMiIiIiIqahBkZERERERExDDYyIiIiIiJiG1sCIKeXk5Fz+Iv6rTGJi\nEg6Hw9dliIiIiJiKGhgxpfxlq0iO6+TrMq5Y/oH9APTq1cfHlYiIiIiYixoYMaXkuE6kJCX7uowf\npcLXBYiIiIiYkNbAiIiIiIiIaaiBERERERER01ADIyIiIiIipqEGRpg/fz4ZGRmsWbPGa/u2bdvI\nyMjwUVUiIiIiIkZqYAQAu93O2rVrOXnypK9LERERERG5KD2FTADo2rUrZWVlvP/++4wbN67Offbt\n28eKFSsoKioiODiYXr16MWbMGPz9/cnKyuKjjz7iySefBM7N3rzwwgtMmTKFgQMHAjB37lw6derE\nHXfcwcGDB3n77bf5+uuvAYiIiODuu++mQ4cOTXPBIiIiImJKmoERAKxWK6NHjyYrK4uKCuMDfsvK\nypg3bx59+vThySefZMaMGezbt48lS5YAkJiYSHFxMSdOnABgz549BAcHs2fPHgBcLhcHDhygS5cu\nALz66quEh4cza9Ysfvvb3zJ8+HBsNlsTXa2IiIiImJVmYMSjZ8+etGvXjszMTKZOner13vvvv8+N\nN97I4MGDAWjTpg133nknzz33HHfddRfR0dE4HA727NlD79692bNnD0OHDmXjxo0AHDhwAJfLRXx8\nPABHjx7ltttuIzIy0jPetcZms2K3N8zvEGw2q9dXUSZ1USZGysRImRgpEyNl4k15GDVmFmpgxMvY\nsWP585//zG233ea1/dChQ3zzzTd8+umnXtvdbjfl5eVERUXRuXNndu/eTVJSEsXFxdxyyy2sW7eO\nkpIS9uzZQ8eOHfHz8wNg6NChLFy4kE8//ZSkpCT69OlzzTUxTmcQYWGOBh9TvCkTI2VipEyMlImR\nMjFSJt6UR9NQAyNeOnfuTHJyMitWrKBv376e7WfOnGHgwIGeGZgLhYeHA+duI9u0aRP79u2jffv2\n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\naBAfffQR1dXV7tsoT5w40X1eJ06cIDQ0lK5du9KvX7/Lqi8xMZG1a9cyZ84cHA4HrVu3Jj4+nuee\ne44OHTq4t3nyySf55z//yerVqwkJCaFHjx4/esxf//rXLF++nLlz51JVVUV4eDiJiYkeNyI417nP\nqBk2bBgmk4kVK1ZQUVFBRESEex6O1Wpl6tSpLFmyhNmzZ3Pq1CnatGlDUlKS+0qWiIiIiMj5BOXm\n5rq8XcS1avLkyTz99NOX3VRI83M6ne7n8Yh/27p1K06nmZtuGnBZ+1ksJiIjbdjt1bqc/3/KxEiZ\nGCkTI2VipEw8KQ8ji8VEfn5esxz7mh5CJiIiIiIicjY1MCIiIiIi4jOu6Tkw3jZ79mxvlyAiIiIi\nImfRFRgREREREfEZugIjPmnXrl3eLkFayK5du+jRo7e3yxAREZFrhBoY8UnJycl62u1Z/PkJwD16\n9CYxsae3yxAREZFrhBoY8UkDBw7UrQrPots3ioiISKDQHBgREREREfEZamBERERERMRnaAiZ+KS8\nvLwrmu+RmNgTm83WTFWJiIiISHNTAyM+KTk5+Yr2y87O5aabBjRxNSIiIiLSUjSETEREREREfIYa\nGBERERER8RlqYERERERExGeogREREREREZ+hBkau2rRp08jJyfF2GSIiIiISAHQXMj9RUVHB6tWr\n2b59O3a7nZCQENq1a8ett95KSkoKVqu12V572rRpzXp8EREREZFGamD8QFlZGTNnzsRmszFixAg6\nduyIxWLhyJEjrF+/nsjISPr27dtsrx8aGtpsxxYREREROZsaGD8wf/58LBaL4UpIdHQ0/fr1c/+8\nZs0avv76a8rLy2ndujV9+/Zl1KhRXHfddQB89dVXLFq0iMcff5xFixZht9vp06cPjz32GN9++y1Z\nWVnU1NRw2223MWbMGEymMyMQp02bRlpaGmlpaQBMnjyZRx55hG3btrFz507atGnD6NGjPWrJz88n\nMzMTu91O9+7dufXWW5k7dy7vvfceISEhLRGbiIiIiPggNTA+rqqqioKCAh566KGLDuMymUyMHTuW\n6OhoysrKmD9/PosXL2b8+PHuberq6sjJyeEXv/gFp06dYvbs2bz//vvYbDaeffZZysrKmD17Nt26\ndeOWW25x7xcUFOTxWp9//jmjRo1i9OjR5OTk8Mknn/DWW29hs9koLy/ngw8+IC0tjdTUVIqKisjM\n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\nqCxevJjIyEhGjBgBnJm7smfPHm655RYsFguhoaGXdPzhw4ezcOFCQkJC6N27N/X19Rw4cICamhrS\n09Ob89TEDzidDdTXX/1/Ak11HH+iTIyUiZEyMVImRsrEk/JoGWpgAlj79u2ZNm0aK1as4MMPP+Tk\nyZOEh4fTv39/7r//flq3bg3AAw88wN///ndmzJhBfX29x22ULyQ1NRWr1coXX3zB4sWLue666+jY\nsSNpaWnNeVoiIiIi4seCcnNzW+YJhSJNaMgQGzDQ22VIs8kjO7uam24acMVHsFhMREbasNur9W3Y\n/ykTI2VipEyMlImRMvGkPIwsFhP5+XnNcmzdKkFERERERHyGGhgREREREfEZamBERERERMRnqIER\nERERERGfobuQiY/a4e0CpFntADp7uwgRERG5BukuZCIiIiIi4jM0hExERERERHyGGhgREREREfEZ\namBERERERMRnqIERERERERGfoQZGRERERER8hhoYERERERHxGWpgRERERETEZ6iBERERERERn6EG\nRkREREREfIYaGBERERER8RlqYERERERExGdYvF2AyOXKzc1lzZo1OBwO4uLiGDt2LJ07d/Z2Wc1u\n1apVfPfdd5SUlBAcHEy3bt0YOXIkHTp08NhuxYoVbNiwgZMnT9K9e3fGjx9P+/btvVR1y1q9ejXL\nli1j6NChPPzww+7lgZaJ3W5nyZIl7Nixg7q6Otq3b8/EiRNJSEhwbxNImTQ0NJCVlcXmzZupqKig\nTZs2pKSkMGzYMI/t/DmTPXv28MUXX3Do0CEqKiqYPHky/fv399jmYud/+vRpFi1axJYtW6ivr6d3\n796MGzeO8PDwlj6dJnGhTJxOJ8uWLWPHjh2Ul5cTEhJCz549GTlyJBEREe5jBFIm5/rHP/7B+vXr\nGTNmDGlpae7l/pTJpeRRXFzMkiVL2Lt3Lw0NDcTGxvLUU08RFRUF+FcecPFMTp06xdKlS8nPz6eq\nqoro6GiGDh3KoEGD3Ns0RSa6AiM+JS8vj8zMTIYPH86MGTOIi4tj1qxZVFZWeru0Zrd3716GDBnC\nyy+/zPPPP4/T6WTWrFnU1dW5t1m9ejW5ublMmDCBV155BavVyqxZszh9+rQXK28ZBw4cYP369XTs\n2NFjeaBlUl1dzTvvvENwcDDPPvssr732GmPGjKF169bubQItk9WrV7Nu3TrGjRvH66+/zsiRI/ni\niy/Iycnx2MafM6mrqyM+Pp5x48YBEBQU5LH+Us7/s88+Y9u2bTz11FNMnTqVEydOMHv27BY9j6Z0\noUzq6uo4dOgQw4YNY/r06UyePJmSkhL+8pe/eBwjkDI523fffcf+/fuJiIgwbONPmVwsj7KyMt55\n5x1iY2N58cUXefXVVxk2bBjBwcHubfwpD7h4JosWLWLnzp08/vjjvP7666Snp5ORkUF+fr57m6bI\nRA2M+JR//etf3HnnnaSkpBATE8OECROwWq1s3LjR26U1u2effZaUlBRiY2OJi4vj5z//OcePH6eo\nqAgAl8vFl19+yX333Ue/fv3o2LEjjz32GBUVFXz//fderr55nTp1ik8++YRHH33U4xf1QMwkOzub\nqKgofvazn9G5c2fatm1LUlIS7dq1AwIzk8LCQvr370+fPn2Iiori5ptvJikpiYMHDwKBkUmfPn14\n4IEHzvtt+qWcf01NDV999RVjxozhhhtuID4+nokTJ1JYWMj+/ftb+nSaxIUyCQkJ4fnnn2fAgAF0\n6NCBLl26MHbsWIqKirDb7UDgZdLIbrezcOFCnnjiCcxms8c6f8vkYnksW7aMG2+8kZEjR9KpUyei\no6Pp27cvYWFhgP/lARfPpLCwkJSUFBITE4mKiiI1NZW4uDj3521TZaIGRnxGfX09RUVFJCUluZcF\nBQWRlJREYWGhFyvzjpMnTwK4f2EvLy+nsrLSI5+QkBC6dOni9/lkZGRw44030rNnT4/lgZjJDz/8\nQHx8PB988AFTp07lzTffZMOGDe71gZhJt27dKCgooKSkBIBDhw6xb98+evfuDQRmJme7lPM/ePAg\nTqfTY5uYmBiioqLYt29fi9fsDTU1NcCZbCAwM2loaGDOnDncddddxMbGGtYHUiYNDQ1s376d9u3b\nM2vWLKZOncof/vAHjy89AimPRt26dSM/P58TJ07gcrnYvXs3paWl9OrVC2i6TDQHRnxGVVUVLpfL\nMEYyLCyMY8eOeakq72hoaOCzzz6jW7duXH/99QA4HA6A8+bTuM4f5eXlcfjwYV555RXDukDMpKys\njHXr1pGens59993HgQMHWLBgAWazmZSUlIDM5J577qGmpobf/e53mEwmGhoaGDFiBMnJyUBgvk/O\ndqHzbxye63A4MJvN7l/ez7eNPzt9+jRLliwhOTmZVq1aAYGZSXZ2NmazmaFDh553fSBlUllZSW1t\nLdnZ2Tz44IOMGjWK7du3M3v2bKZMmUJiYmJA5dFo7NixzJs3j5dffhmTyURQUBCPPvoo3bt3B5ru\nPaIGRsQHZWRkUFxczG9+85tL2v7HxjH7uuPHj7Nw4UJeeOEFLJbL+zjz10xcLhcJCQmMGDECgE6d\nOnH06FHWrVtHSkrKBff110y2bNnC5s2bmTRpEtdffz1FRUV89tlnREREBGwmcumcTicffvghAOPH\nj/dyNd5z8OBBcnJymDFjhsdyl8vlpYq8q/G8+/Xr576JQVxcHIWFhaxbt47ExERvluc1OTk57N+/\nn1/96ldERUWxZ88eMjIyiIiI8LjqcrXUwIjPCA0NJSgoyPCNqMPh8LgrjL/LyMhg+/btTJ06lTZt\n2riXN3576nA4PL5JdTgcxMfHt3idLaGoqIiqqirefPNN9zKXy8XevXtZu3Ytr732GhBYmbRp08Yw\ntCMmJoatW7cCgfk+Wbx4Mffccw+33HILANdffz3Hjx9n9erVpKSkBGQmZ7uU8w8PD8fpdFJTU+Px\nzWllZaXP3k3pUjQ2L3a7nRdeeMF99QUCL5O9e/dSWVnJyy+/7F7mcrnIzMwkJyeH3//+9wGVSWho\nKCaTyfB526FDB/dQqEDKA85M8F++fDmTJ0/mxhtvBKBjx44cPnyYNWvWkJSU1GSZqIERn2GxWEhI\nSKCgoIB+/foBZ4ZS7dq160cvZ/sTl8vFggULyM/P58UXX6Rt27Ye66OjowkPD6egoIC4uDjgzJjt\nAwcOMHjwYC9U3Px69uzJq6++6rFs7ty5xMTEcPfddwdkJt26dTMMqSwpKXG/XwIxk7q6Okwmzymf\nQUFB7m9QAzGTs13K+SckJGA2mykoKODmm28G4NixYxw/fpyuXbt6q/Rm1di8lJWVMWXKFGw2m8f6\nQMskJSXFPY+h0axZs7jtttu4/fbbgcDKxGKx0LlzZ/fcukalpaXuz9tAygPO/JtxOp0X/LxtqkzU\nwIhPSU9P59NPPyUhIYHOnTvz5Zdfcvr0afeHpz/LyMggLy+Pp59+GqvVSkVFBXBmEn9wcDBBQUGk\npaWxcuVK2rdvT3R0NMuXL6dNmzYXvKOML2vVqpV7DlAjq9WKzWZzLw+0TNLS0pg5cyarVq1iwIAB\nHDhwgA0bNvDII48ABOT7pG/fvqxcuZLIyEhiY2M5dOgQX375JXfccQcQGJnU1tZSWlrq/rmsrIxD\nhw5hs9mIioq66PmHhIRwxx13kJmZic1mo1WrVixYsICuXbvSpUsXb53WVblQJhEREXzwwQcUFRXx\nzDPP4HQ63Z+5oaGh7jH8gZRJVFSUoYkzm81ERES4n0fmb5lcLI+77rqLjz76iB49epCYmMiOHTv4\n4YcfmDp1KuB/ecDFM+nRoweZmZkEBwe7h5Bt2rTJ/Wy2psokKDc3NzAHL4rPanyQZUVFBZ06dQqY\nB1lOnjz5vMsnTpzoMY5/xYoVrF+/npqaGr97GN+l+NOf/kSnTp0MD7IMpEy2bdvG0qVLKS0tJTo6\nmvT0dFJTUz22CaRMTp06xYoVK/j+++9xOBy0adOG5ORkhg0b5nEbWH/OZPfu3bz33nuG5SkpKUyc\nOBG4+PmfPn2azMxM8vLy/OKBfBfK5P7772f69Onn3a9xgjYEViaN75OzTZs2jfT0dI9REP6UyaXk\nsXHjRlavXo3dbicmJobhw4e7R4mAf+UBF8/E4XCwdOlSdu7cSXV1NdHR0aSmppKenu7etikyUQMj\nIiIiIiI+Q8+BERERERERn6EGRkREREREfIYaGBERERER8RlqYERERERExGeogREREREREZ+hBkZE\nRERERHyGGhgREREREfEZamBERERERMRnqIERERERERGfoQZGRERERER8hhoYERERERHxGf8D7EGW\nPfuiWU8AAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# matplotlib doesn't know about these colors by default\n",
"color_replacement = {\n",
" 'sky': '#00C2E0',\n",
" 'lime': '#51E898',\n",
" None: '#EEEEEE'\n",
"}\n",
"\n",
"x = np.arange(len(label_count.keys()))\n",
"plt.barh(x, list(label_count.values()), color=[a[1] if a[1] not in color_replacement else color_replacement[a[1]] for a in label_count.keys()])\n",
"plt.yticks(x + 0.4, list(a[0] for a in label_count.keys()))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How many cards were moved from *To Read* to *Done*?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"701 actions on the list \"To Read\"\n",
"215 cards were moved from \"To Read\" to \"Done\" and \"Save\"\n"
]
}
],
"source": [
"print(str(len(ls['To Read']['actions'])) + ' actions on the list \"To Read\"')\n",
" \n",
"# Filter the cards that were in the list \"To Read\" before\n",
"moved_to_done = [c for c in ls['To Read']['actions'] \n",
" if 'data' in c and 'listAfter' in c['data'] and c['data']['listAfter']['id'] == lists_ids['Done']]\n",
"\n",
"moved_to_save = [c for c in ls['To Read']['actions'] \n",
" if 'data' in c and 'listAfter' in c['data'] and c['data']['listAfter']['id'] == lists_ids['Save']]\n",
"\n",
"# Combine the cards from the \"Done\" and \"Save\" lists\n",
"moved_to_done = moved_to_done + moved_to_save \n",
"\n",
"print(str(len(moved_to_done)) + ' cards were moved from \"To Read\" to \"Done\" and \"Save\"')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What is the average time it takes for a card to move from *To Read* to *Done*?"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"It takes 42 days in average for a card to be moved from \"To Read\" to \"Done\"\n",
"The median is: 7, which means that half of the articles are read in less than 7 days\n",
"max: 385, min: 0, stdev: 74.05240434257809 , variance: 5483.758588916678\n"
]
},
{
"data": {
"image/png": "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\n11dVnHJNZ3b+1GatneassLBAf1j2iiTp0KFDeuixJ7XgN39wHeONjV+0OCXXuXNfbKqr86f1OleL\n0f02bXq/yeuFT/1RC37zB4+n2Wppmq6LTd916NChVk/Hdq7+8+u81Dk3bXrfNYWckc+3b1+B7r1/\noes/Tpo7d2fmyc/i3Ppz4/VcfzvDFHIX9n/TpvebjI2WPm9zY76t+3WU5vp//tj2ZFq8C3/GnVl7\nTf3niykFO+qcnvwz2xmnWOyMNZ2vs/xu9FRXrp8rvAZFRsXJpG+vjDbn/OmmWnp9MSFhvdxeh0X0\ncTv3xbTmHM0dw+h+F76+WD9aq6UavDUdW3N1Xuqc56aQM/r5WnPuzsyTn4VkfLx2lAv7f+HnaOlz\ntTTm27pfR7lYzZ5Oi3fhz7gza6+p/3wxpWBHndOT8doZp1jsjDWdr7P8bvRUV62/SwXezZs364MP\nPpDNZlNCQoLuvPNODRw40NdlAQAAoBPrMrc05Ofna+XKlRo/frwWLFighIQELVmyRJWVlb4uDQAA\nAJ1Ylwm8H374oa699lplZWUpNjZWU6ZMUVBQkLZu3err0gAAANCJdYnA29DQoJKSEqWlpbmWmUwm\npaWl6cCBAz6sDAAAAJ1dl7iHt6qqSk6nU1ar1W15eHi4Tpw40apj1FSdkeSU2WxSTdUZlZ86psoz\nZW6vGxvqXevP37a5/Rob6lVUtE8Wi1lFRfsMH0OSa/9zLBaz4f0uPLfFYtbu3Ttdx6uqOKWion3K\nzMx0bStJhw87VH7qZLP7jRw5SoWFBaqqOCWz2aSCgqb7teYYO3Zsb/K6ORfWeW7b85ef3+cL67jY\nfud/7vN/btK3M1RcWHNR0T7X527p532h8z+f2WxSVcUpFRYWuI7X2nO3tl8tndvIMVra9sKen3Ou\nL+cvv3C/c+PVYjGroGBvi+P8wnPv2rVDYWE9NWRIhtc/d3P/bF44Ni78WZy/n9T8WGtuv/N/3i3t\n58nPqqXPnZmZqfz8fFVV1WrEiJHNfu7mar6wB60994U/4+bG7qVq7qhx3tLPp61jraXfVe35uVv6\nLN4+d3Nj5lJj7VK/F3zxe82Tfnnr3K35vXZhny/2u7Gtv8/b43OfX7/FYlZAgHevmzb371hvMW3e\nvNnZbkf3kjNnzujRRx/V/PnzlZSU5Fr+9ttvq6ioSI8++qgPqwMAAEBn1iVuaQgLC5PJZJLNZnNb\nbrPZFBER4aOqAAAA0BV0icAbEBCgAQMGaO/eva5ljY2NKigo0KBBg3xYGQAAADq7LnEPryT913/9\nl5YvX64BAwZo4MCB2rRpk+rr63X11Vf7ujQAAAB0Yl0m8F5xxRWqrKzUunXrVFFRof79+2vWrFkK\nDw/3dWkAAADoxLrEl9YAAAAAT3WJe3gBAAAATxF4AQAA4NcIvAAAAPBrBF4AAAD4NQIvAAAA/BqB\nFwAAAH6ty8zD66nNmzfrgw8+kM1mU0JCgu68804NHDjQ12V1CuvWrdP69evdlsXGxmrx4sWu97m5\nufrss89UU1OjlJQUTZ48WdHR0R1cqW8VFhbq/fff1+HDh1VRUaEZM2ZoxIgRbttcqk/19fV66623\n9OWXX6qhoUHp6em66667ZLVaO/rjdIhL9Wz58uXKy8tz2yc9PV0PPPCA631369m7776rnTt36uTJ\nkwoMDFRycrJuu+02xcTEuG3HWHPXmr4x3tx98skn2rJli06dOiVJiouL07hx45SRkeHahnHW1KX6\nxji7tI0bN2rNmjW68cYbNWnSJNfyjhhvfj0Pb35+vpYvX64f/ehHSkpK0ocffqjt27frySef5IEV\n+jbw7ty5Uw8++KBrmcViUWhoqKRvB+Z7772nadOmKSoqSmvXrtXRo0e1ePFiBQYG+qrsDrdnzx4d\nOHBAiYmJWrZsmWbOnKnhw4e71remT6+99pr27NmjadOmKTg4WDk5OTKZTHrkkUd89bHa1aV6tnz5\nclVWVmrq1KmuZYGBgQoODna97249W7p0qTIzMzVw4EA5HA6tWbNGx44d0+LFixUUFCSJsdac1vSN\n8eZu9+7dMpvNiomJkdPp1LZt2/TBBx/ol7/8peLi4hhnLbhU3xhnF1dcXKyXXnpJPXv21JAhQ1yB\nt6PGm1/f0vDhhx/q2muvVVZWlmJjYzVlyhQFBQVp69atvi6t0zCbzbJara4/58Ku0+nUpk2bNHbs\nWA0fPlzx8fGaPn26KioqtGvXLh9X3bEyMjKUnZ3d5Kqu1Lo+2e12bdu2TRMnTtSQIUOUmJioqVOn\n6sCBAzp48GBHf5wOcbGenRMQEOA29s7/l0J37NmsWbOUlZWlfv36KSEhQdOmTdPp06dVUlIiibHW\nkkv17RzG2/+57LLLlJGRob59+yo6Olq33nqrevTooYMHDzLOLuJifTuHcda82tpavfzyy7r77rsV\nEhLiWt6R481vA29DQ4NKSkqUlpbmWmYymZSWlqYDBw74sLLOpbS0VPPnz9cvf/lL/fWvf9Xp06cl\nSadOnVJlZaVb/4KDg5WUlET/ztOaPh06dEgOh8Ntm9jYWPXu3Vv79+/v8Jo7i8LCQs2dO1eLFi3S\nP/7xD1VXV7vW0TOppqZGklz/cmCstc6FfTuH8da8xsZG5efn6+zZs0pOTmactdKFfTuHcda8nJwc\nDRs2TKmpqW7LO3K8+e09vFVVVXI6nU3u7wgPD9eJEyd8VFXnkpSUpGnTpikmJkYVFRV655139PTT\nT2vRokWy2WyS1Gz/zq2DLtqnyspK1zYWi8Xtv/Qv3Ka7SU9P18iRIxUVFaXS0lKtWbNGS5cu1fz5\n82U2m7t9zxobG/Xmm28qOTlZcXFxkhhrrdFc3yTGW3OOHj2qp556SvX19erZs6dmzJih2NhYV4Bg\nnDWvpb5JjLOW5Ofn68iRI3rsscearOvI32t+G3hxaed/QSE+Pl5JSUl67LHHtH37dtc/wM0xmUwd\nUR78WGZmput1XFycEhIStGDBAhUVFWnIkCE+rKxzyMnJ0fHjxzVv3jxfl9KltNQ3xltTsbGxWrhw\noex2u7Zv367ly5drzpw5vi6r02upb/369WOcNeP06dN644039NBDDykgwLeR029vaQgLC5PJZGpy\nNdJmsykiIsJHVXVuwcHBiomJUVlZmatHzfWvu3ybtDXO9eJifbJarXI4HLLb7W7bVFZW0sv/FRUV\npbCwMJWWlkrq3j3LycnRnj179PDDD6tXr16u5Yy1i2upb81hvH37BeW+ffsqMTFREyZMUEJCgj76\n6KNW/e7vjv06p6W+NYdxJpWUlKiqqkq/+tWvNHPmTM2cOVNFRUX66KOP9POf/7xDf6/5beANCAjQ\ngAEDtHfvXteyxsZGFRQUaNCgQT6srPOqra1VaWmpIiIiFBUVJavV6tY/u92u4uJi+nee1vRpwIAB\nslgsbtucOHFCp0+fppf/q7y8XFVVVa5/2XbHnjmdTuXk5Ohf//qXHn74YfXp08dtPWOteZfqW3MY\nb001NjaqoaGBcWbQub41h3EmpaamatGiRVq4cKHrz4ABA/Sd73xHCxYs6NDxZpk2bdpib32wzqZn\nz57Kzc1VZGSkAgIClJubq6NHj+qee+5Rjx49fF2ez61cuVIBAQFyOp06fvy4/vGPf6iqqso1m0Vj\nY6Peffdd9evXTw6HQ6+//rrq6+t15513ymz22/9WaqKurk7Hjx+XzWbTp59+qoEDByowMFAOh0Mh\nISGX7FNgYKAqKir08ccfKyEhQdXV1XrttdfUu3dv3Xzzzb7+eO3iYj0zm81as2aNgoOD5XA4dOjQ\nIb366qvq2bOnJk6c2G17lpOTo/z8fP30pz9VRESE6urqVFdXJ4vFIovFIpPJxFhrxqX6VldXx3i7\nwOrVq12/+8vLy7Vp0yZ98cUXuv3229W3b1/GWQsu1jer1co4a0ZAQIDCw8Pd/nzxxReKiorSVVdd\n1aG/1/x6Hl7p/x48UVFRof79+/PgifP85S9/UVFRkaqqqhQeHq6UlBTdeuutioqKcm2Tm5urTz/9\nVHa7vds+eGLfvn167rnnmizPyspyzbd4qT7V19dr5cqVys/P7xaTjV+sZ5MnT9Yf//hHHT58WHa7\nXREREUpPT1d2drbb/NjdrWczZsxodvnUqVOVlZXles9Yc3epvtXX1zPeLvDqq6+qoKBAFRUVCg4O\nVkJCgsaMGeP2LXjGWVMX6xvjrPWeeeYZ9e/fv8mDJ9p7vPl94AUAAED31n3+vzQAAAC6JQIvAAAA\n/BqBFwAAAH6NwAsAAAC/RuAFAACAXyPwAgAAwK8ReAEAAODXCLwAAADwawReAAAA+LUAXxcAAL7Q\n0iNpzzd16lRt27ZNPXr00P33398BVTXv3KOaH3/8cSUmJrbLOR588EGNHj1a48ePb5fjA4AvEXgB\ndEvz5893e//UU0/phhtu0JVXXula1rdvXyUlJclkMnV0eW4GDBig+fPnKzY2tt3OYTKZfP45AaC9\nEHgBdEtJSUlNlvXu3bvJ8rCwsI4qqUU9e/Zstl4AQOsQeAHgIp555hm3WxrWrVunDz74QPPmzdNr\nr72mI0eOqF+/frrnnnsUGxurN998U19++aV69Oihm266SaNHj3Y73v79+7V27VoVFxfLbDZr2LBh\nmjRpksLDw1usoblbGmbMmKEJEybo7Nmz2rJlixobG3XZZZfprrvuUlBQ0EU/065du7Rq1SqdPn1a\n8fHxuuuuu5ps89VXX2nTpk06cuSI6uvr1a9fP40fP17p6emSpKqqKs2fP1933XWXrrnmGrd9f/vb\n36pPnz766U9/qpqaGr399tvas2ePqqurFRYWppSUFN13332Xbj4AeAlfWgOAS7jwf/U7HA4tX75c\n1113nWbMmCGHw6Fly5bp73//u3r06KGf/vSnGj58uN566y3t37/ftd/+/fv17LPPKiQkRD/5yU/0\nox/9SMXFxfrjH//oUV0ff/yxysrKNH36dI0bN05ffPGF1q9ff9F9Dh8+rD/96U+KjY3VjBkzlJWV\npT//+c+qr6932+7UqVMaNmyY7r33Xs2YMUPJycn6n//5HxUWFkr69sr35Zdfrq1bt7rtd+zYMR06\ndMgVgt966y199dVXmjBhgmbPnq3bb79dAQFcawHQsfitAwAGORwO3Xbbba6rnU6nUy+88IKSkpJ0\nxx13SJKGDBmiHTt2aPv27UpOTpYkrV69WgMHDnT7wlx8fLyeeOIJ7dmzRxkZGYbqiIiI0L333itJ\nGjp0qEpKSrRjxw5NmDChxX02btyoPn36aObMma4gHxgYqL///e9u291www2u142NjRo8eLCOHTum\nTz/9VIMHD5YkXXPNNfrDH/6gEydOuO4v3rp1q3r37q2hQ4dKkoqLi3XllVfqqquuch0vMzPT0OcE\ngLYi8AKAQSaTSampqa730dHRkqS0tDTXMrPZrL59++rMmTOSpLNnz2r//v2644475HA43Pbt3bu3\niouLDQfec6HynH79+unLL7+86D4HDx7UiBEj3K5ajxw5skngLS8v15o1a1RQUKCKigrX8gEDBrhe\np6amKioqSlu3btXtt98uh8Ohzz//XNddd51rm8TERG3btk0REREaOnSo4uPjDX1GAPAGAi8AGBQY\nGCiLxeJ6f+51cHCw23YWi8V1q0B1dbWcTqfeeustvfXWW02OWV5ebriO5s7X0NBw0X1sNluT+4WD\ng4PdbjNobGzUCy+8oLq6OmVnZys6OlpBQUHKzc1tUuc111yjTZs2acKECfrqq69UVVWlq6++2rX+\nzjvvVGhoqD744AO9/fbbioyM1Pe//323UAwA7Y3ACwAdICQkRJI0duxYjRgxosn6jpoNIiIiQjab\nzW2Z3W53C8plZWU6cuSIZs6cqeHDh7uWnz17tsnxsrKylJubq927d2vr1q1KTU1Vnz59XOuDg4M1\nadIkTZo0SUePHtVHH32knJwcxcfHKyUlpR0+IQA0xZfWAKAD9OjRQ4MGDdLx48eVmJjY5E/v3r07\npI6BAwdq9+7damxsdC3bsWOH2zbngu35V7H/85//uH0B75yIiAgNGzZM7733nv7973+7Xd29UHx8\nvCZOnChJOnHiRJs+BwAYwRVeALgEp9PplX1vv/12Pffcc3rppZd0xRVXKCQkROXl5SooKNDVV1/t\n+kmwvtgAAAGNSURBVDJYe/r+97+v3/zmN3rxxRd13XXXqaysTB9++KHbLQ2xsbHq1auXVq9eLafT\nqdraWq1bt06RkZHN9uLaa6/V888/r5CQEI0cOdJt3e9//3tdfvnl6tevn8xms/Ly8hQQEMDVXQAd\nisALAJdw4bRkRp5Idv62ycnJmjdvntatW6dXX31VDQ0NioyMVGpqquuLb+2tf//++tnPfqZVq1Zp\n2bJlio+P13333aelS5e6tgkMDNSMGTOUk5OjP/3pT+rdu7fGjh2rgoIClZSUNDnm0KFDFRQUpMzM\nzCZTjiUnJysvL0+nTp2SyWRSfHy8fvGLX7TrU+MA4EKmzZs3e37pAgDQ7RUUFOgPf/iD24MxAKAz\n4QovAMAjFRUVOnnypN5++20lJycTdgF0WgReAIBHtmzZog0bNqh///665557fF0OALSIWxoAAADg\n15iWDAAAAH6NwAsAAAC/RuAFAACAXyPwAgDw/7dbBzIAAAAAg/yt7/EVRcCa8AIAsCa8AACsCS8A\nAGvCCwDAWk/6hIkSPs3RAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import datetime\n",
"import math\n",
"import statistics\n",
"import collections\n",
"\n",
"date_format = '%Y-%m-%dT%H:%M:%S'\n",
"def parse_date(date_str):\n",
" return datetime.datetime.strptime(date_str[:date_str.index('.')], date_format)\n",
"\n",
"# Create a dictionary card_id -> date to track the date a card was moved\n",
"dates_moved = {c['data']['card']['id']: parse_date(c['date']) for c in moved_to_done}\n",
"\n",
"# Create a dictionary card_id -> date to track the date a card was created\n",
"dates_created = {c['data']['card']['id']: parse_date(c['date']) for c in ls['To Read']['actions'] \n",
" if 'card' in c['data'] and c['data']['card']['id'] in dates_moved.keys() and c['type'] == 'createCard'}\n",
"\n",
"time_per_card = {cid: (d-dates_created[cid]).days for cid, d in dates_moved.items()}\n",
"\n",
"# Calculate the difference in days, assuming date_moved > date_created\n",
"times = time_per_card.values()\n",
"\n",
"average_days_for_moving = math.floor(statistics.mean(times))\n",
"median = math.floor(statistics.median(times))\n",
"standard_deviation = statistics.stdev(times)\n",
"variance = statistics.variance(times)\n",
"max_days = max(times)\n",
"min_days = min(times)\n",
"\n",
"print('It takes ' + str(average_days_for_moving) + ' days in average for a card to be moved from \"To Read\" to \"Done\"')\n",
"print('The median is: ' + str(median) + ', which means that half of the articles are read in less than ' + str(median) + ' days')\n",
"print('max: ' + str(max_days) + ', min: ' + str(min_days) + ', stdev: ' + str(standard_deviation), ', variance: ' + str(variance))\n",
"\n",
"times_count = {x: 0 for x in range(max(times)+1)}\n",
"for t in times:\n",
" times_count[t] += 1\n",
"\n",
"x = np.arange(len(times_count.keys()))\n",
"plt.xlabel('Time in days')\n",
"plt.ylabel('Number of cards moved')\n",
"plt.bar(x, list(times_count.values()))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The same data but zoomed to show only a 2 months period"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\nwm1oaKgGDBigffv2ubY5HA7t379fgwYN8mNlAAAACCTdYs6tJH3nO9/R8uXLNWDAAA0cOFBbtmxR\nS0uLRo8e7e/SAAAAECC6Tbi98sorVVtbqw0bNqimpkb9+/fX3LlzFR0d7e/SAAAAECC6xQ1lAAAA\nQEd0izm3AAAAQEcQbgEAAGAahFsAAACYBuEWAAAApkG4BQAAgGkQbgEAAGAa3WadW09t3bpVb775\npux2u1JTU3Xbbbdp4MCB/i4LnVRWVqa///3vOnr0qGpqajR79myNGDHCbcz69ev13nvvqaGhQZmZ\nmZo6daoSEhL8VDE64/XXX9fHH3+s06dPKywsTBkZGbrpppuUmJjoNo6em8M777yj7du368yZM5Kk\n5ORkTZw4Ubm5ua4x9Nq8Nm/erLVr1+raa6/VlClTXNvpuTls2LBBGzdudNuWlJSkpUuXul53ttem\nvnJbWlqqlStXatKkSVq8eLFSU1NVVFSk2tpaf5eGTmpublZaWppuv/12SZLFYnHbv3nzZm3dulXT\npk3TokWLFB4erqKiIrW0tPijXHTSgQMHdM011+j+++/XPffco7a2NhUVFam5udk1hp6bR1xcnCZP\nnqzFixfrwQcf1GWXXabnnntOJ06ckESvzay8vFzvvvuuUlJS3LbTc3NJTk7WY4895vqzYMEC1z5v\n9NrU4fatt97S2LFjlZ+fr6SkJE2bNk3h4eHasWOHv0tDJ+Xm5qqgoKDd1VpJcjqd2rJliyZMmKDh\nw4crJSVFs2bNUk1NjXbv3u2HatFZc+fOVX5+vvr166fU1FTNnDlTZ8+eVUVFhSR6bjbDhg1Tbm6u\n+vbtq4SEBN14443q0aOHDh8+TK9N7Pz583rhhRd0xx13KDIy0rWdnptPSEiIbDab609UVJQk7/Xa\ntOG2tbVVFRUVys7Odm2zWCzKzs7WoUOH/FgZfO3MmTOqra11631ERITS09PpvUk0NDRIkutfgPTc\nvBwOh0pLS9Xc3KyMjAx6bWLFxcUaOnSosrKy3LbTc/OprKzUwoUL9eCDD+pPf/qTzp49K8l7vTbt\nnNu6ujo5nU7ZbDa37dHR0Tp16pSfqkJXsNvtknTR3l/Yh+7L4XBoxYoVysjIUHJysiR6bkbHjx/X\no48+qpaWFvXs2VOzZ89WUlKSDh48KIlem01paamOHTumRYsWtdvH77e5pKena+bMmUpMTFRNTY1e\ne+01Pf7441qyZInXem3acAtczH/PzUX3U1xcrJMnT7rN0boUet49JSUl6aGHHlJjY6N27typ5cuX\na968eZd8D73uns6ePatXXnlF9957r0JDjcUSet79fPnG0JSUFKWnp2vRokXauXOnkpKSvvJ9Rnpt\n2nDbq1cvWSyWdknfbrcrJibGT1WhK1z4Lz673e72X392u11paWn+KgteUFxcrD179mj+/PmKjY11\nbafn5mO1WtW3b19JUlpamo4cOaK3335b48ePl0SvzaSiokJ1dXX6xS9+4drmdDp14MABbdu2TQ8/\n/LAkem5WERERSkxMVFVVlS677DJJne+1aefchoaGasCAAdq3b59rm8Ph0P79+zVo0CA/VgZfi4+P\nl81mc+t9Y2OjysvL6X035XQ6VVxcrH/+85+677771KdPH7f99Nz8HA6HWltb6bUJZWVlacmSJXro\noYdcfwYMGKBvfOMbWrx4MT03ufPnz6uyslIxMTFe67Vpr9xK0ne+8x0tX75cAwYM0MCBA7Vlyxa1\ntLRo9OjR/i4NndTU1KTKykrX66qqKh09elRRUVHq3bu3xo0bp02bNikhIUHx8fFat26dYmNjL7q6\nAgJfcXGxSktLNWfOHIWHh6umpkbSFzeUhYWFyWKx0HMTWbNmjXJzcxUXF6empiZ9+OGHKisrU2Fh\noSTRa5Pp2bOna/78BeHh4YqKinJtp+fmsXLlSg0bNky9e/dWTU2NNmzYIKvVqry8PEne6bVl69at\nTl99gEBw4SEONTU16t+/Pw9xMInPPvtMTz31VLvt+fn5mjFjhqQvFoF+99131djYyILf3dzs2bMv\nun3GjBnKz893vabn5vDSSy9p//79qqmpUUREhFJTUzV+/Hi3O6jptbk98cQT6t+/f7uHONDz7u+P\nf/yjDhw4oLq6OkVHRyszM1M33nij4uPjXWM622vTh1sAAAAED9POuQUAAEDwIdwCAADANAi3AAAA\nMA3CLQAAAEyDcAsAAADTINwCAADANAi3AAAAMA3CLQAAAEyDcAsAAADTCPV3AQDgD1/1SN8vmzFj\nht5//3316NFDP/vZz7qgqou78LjpBx54QGlpaT45xz333KNx48Zp0qRJPjk+AHQVwi2AoLRw4UK3\n148++qiuueYajRo1yrWtb9++Sk9Pl8Vi6ery3AwYMEALFy5UUlKSz85hsVj8/jkBwBsItwCCUnp6\n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\nrkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.xlim(0, 50)\n",
"plt.xlabel('Time in days')\n",
"plt.ylabel('Number of cards moved')\n",
"plt.bar(x, list(times_count.values()))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Average processing time per label?\n",
"\n",
"How much time does it take to move a card, grouped by label? "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"For label Math: avg time: 28 days, mean: 9 days\n",
"For label Short Story: avg time: 20 days, mean: 20 days\n",
"For label Programming: avg time: 56 days, mean: 8 days\n",
"For label Science: avg time: 53 days, mean: 13 days\n",
"For label Fun: avg time: 16 days, mean: 2 days\n",
"For label Culture: avg time: 35 days, mean: 8 days\n",
"For label News: avg time: 36 days, mean: 5 days\n",
"For label Personal development: avg time: 20 days, mean: 20 days\n",
"For label Gaming: avg time: 2 days, mean: 2 days\n",
"For label Music: avg time: 12 days, mean: 12 days\n",
"For label Computer Science: avg time: 61 days, mean: 17 days\n",
"For label Other: avg time: 25 days, mean: 3 days\n"
]
},
{
"data": {
"image/png": "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\n48Y9dklfgYHGLWTwe1SwiIiIiEiNVFxczLJlS3jssSeIielkO15WVsaECU+zcuVyBg8exg03tKFe\nvfokJq5g7dofuO22XrYVvpo2bYabm4XMzAzatm1fqetv27aF/v0H0rVrd+B88ZORccT2fqNGTSgp\nKSE9fadtlOXQoYOcOvXr3JTIyCiOHcvBbDYTHNygQtd1c3MDoLS0pFLxVkRERBRr1iQSHNyg2ldB\nu0BzWERERESkRkpO/p78/FMMGHAHTZs2s/3XrFlzbr01jsWLF9ja9urVl/nzv2bDhhR69/51NMZq\ntTJy5D3861//YOnSRRw+fIj09J3MmzeHpUsX/e71Q0PDWLMmkd27d7F79y5eeuk5uzkkjRs34aab\nYnnjjVfZsSONXbt28sYbr+Lu7s6FufExMZ244YY2PPvsU6SmriMj4whbt27mgw/+Hzt37ij3unXq\n+OPu7s66dckcP36MgoL8ctuVN6flSoYOjefkyZO8+OJz7Ny5ncOHD7F+/VomT36J0tLSSvXlKBph\nEREREZHLSqvC6zSs5DmLFy/gpps6lrv/SPfuccyePZOff95Ds2bh9O7djxkzPiU4uCGtW7e1aztm\nzDjq1PHniy+mc+TIYby9fYiMjOLeex+0tfnt6lsAjz32JFOmTGLcuAepU8efu+8ebXvE7IKJE1/i\ntdde5k9/eoTAwCAeeWQc+/fvw2Jxt7V58813+PDD95g8eRInTuQSEBBIu3Y3EhgYWO59u7q68vjj\nT/PZZx/zyScf0LZte959d9olq4SVt2rYlQQFBfH++5/w/vvv8sQTj3Lu3FmCgxvQsWMXXFyqZ6zD\nlJSUVPu2w5Rar3v37uTmFlBcXD2Vfm3n6uqCv79VOTaI8ms85dh4yrGxnCW/BQUF7Nq1s8quFxER\nhdVaNZsfVleOjx7NYtiwAbzzzvvceONNVXbdqubq6sLmzamO6cshvYiIiIhIrWO1WmnfvkN1h1Gj\nbdy4gdOnC2jWLJxjx3J47713adCgYaXny1zPVLCIiIiIiBikuLiYDz98jyNHDuPlZaV16za8+OKr\nTjOhvSZQwSIiIiIiYpDY2E7MmPFldYdRo2mVMBERERERcVoqWERERERExGmpYBEREREREaelgkVE\nRERERJyWChYREREREXFaKlhERERERMRpaVljERERESlXbd7p3ll07RrDlClvccstt1Z3KE5LBYuI\n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\neGlpKSaTCZPJVOlz5fqWkhKtFawMpFXCjGU2N6NVq1acPVvdkYiIiDi/Shcsrq6u+Pr6AtCtWzc2\nbdrE5s2b6du3L+fOnWPBggWkpqZSWFhIw4YNGTp0KBEREcD5R6jmzp3L/fffz/z588nKyuLVV18l\nOzubb775hoyMDMxmMw0aNODhhx8mICAAgDVr1rBixQpOnDhBYGAg/fv3p1OnTraYxo4dyz333MPW\nrVvZvn07derUYfjw4bRt2xY4Xxh98cUXpKenk5eXR0BAAN27dycuLq5S956cnMzChQspKCigVatW\nhIeHX9Lmp59+YtGiRWRmZuLn50fnzp3p378/Li4ufPzxx5SVlTFmzBhb+5KSEv7yl78QHx9Pp06d\nKC0tZfny5Xz//ffk5eVRv359br/9dm688cbLxrVx40YWLlxIdnY2fn5+3HbbbfTq1cv2/oQJE7j5\n5pvJyMhgy5YteHp60q9fP7p3726Xw1GjRrFlyxbS09MJDAzkvvvuw9vbm5kzZ3LgwAFCQ0N54IEH\nqFu3boXu90rfm5ycHKZOnQpge7Suc+fOjB49+orfi5iYGHJzCygu1odpI7i6uuDvb1WODeLq6oLV\nauXs2YLqDkVERMTpXfMqYW5ubhQUnP+f7pw5c8jMzGTMmDHUqVOHTZs28e677/L8889Tr149AM6e\nPcuKFSu47777sFqteHp68v7779O1a1fGjBlDcXEx+/fvt/W/adMmvvrqK+Lj42nZsiVbtmzh888/\nx9/fn8jISFu7RYsWMWzYMIYPH05iYiKffvopkydPxmq1UlZWhr+/P3/4wx+wWq3s3buXL774Aj8/\nPzp0qNheCPv27WPmzJkMGTKEdu3asW3bNhISEuza7N69m+nTp3PXXXcRHh5OdnY2X3zxBQADBgyg\nY8eOfPjhhxQVFeHu7g5AWloa586do3379gAsW7aMlJQU7r77burVq8fu3bv59NNP8fb2thV+Fztw\n4AAfffQRAwcO5KabbmLv3r3MmjULb29vOnfubGu3YsUK+vfvz6BBg0hLS+PLL7+kfv36tGzZ0tZm\nyZIljBgxghEjRvDNN9/wySefEBQURL9+/QgICODzzz9nzpw5PPbYYxW63yt9bwICAvjDH/7ABx98\nwKRJk/Dw8MBisVTo+yEiIiIi14erLljKysrYuXMn27dv57bbbuP48eMkJyfz2muv4efnB0CvXr1I\nS0sjOTmZwYMHA+dHFEaNGkVISAgABQUFnDlzhtatWxMUFARAcHCw7TorV66kS5cu3HrrrQD07NmT\nn3/+mZUrV9oVLF26dCEm5vwyt0OGDCEpKYkDBw7QqlUrzGYzAwcOtLUNDAxk7969bNiwocIFy//+\n9z+io6Pp3bs3AHFxcfz888+kpf06l2LRokX07dvXNvoTFBTEwIEDmT9/PgMGDKBVq1a4u7uzadMm\nW5uUlBTatm2Lu7s7586dY9myZTzxxBM0bdrU1sfu3bv57rvvyi1YVq1aRVRUFP379wegXr16HDly\nhBUrVtgVLOHh4fTp08fWZu/evaxatcquYOnSpYstH3379uX111/n9ttvp1WrVrZ7/vzzzyt8vxX5\n3nh5eQHg4+NTqTksqamp5OefobS0rMLnSMW5uJjw9vZQjg3i4mIiNvZGzGbN/TPKhdwqx8ZRjo2l\n/BpPOTaWI/Na6YJly5YtjB8/npKSEsrKyoiNjWXgwIGkp6dTVlbG3//+d7v2xcXFeHt7216bzWZb\nsQJgtVrp3Lkz7777Li1btqRly5Z06NDBVvRkZmbSrVs3uz6bN29OYmKi3bHQ0FDb1xaLBQ8PD06e\nPGk7lpSURHJyMrm5uZw9e5aSkhLCwsIqfN+ZmZm2UZALmjZtalewHDp0iL1797JkyRLbsdLSUoqL\nizl37hxubm506NCBlJQUOnXqRFFREVu2bLE9Ipadnc3Zs2dtj0ld8HuxZmZm0q5dO7tjF/JTVlZm\nmx/UrFmzS2L/vRz6+PgA2H2vfH19KS4u5syZM3h4eFTofn/bb3nfm6uRFhurKctVwPvKTeQqpAHe\nKSm2Ql6M4+urzU+NphwbS/k1nnLs/CpdsERFRTFq1ChcXV3x8/OzzVU4c+YMJpOJ55577pIVwy48\n/gSU+8jP6NGjiYuLIy0tjQ0bNrBgwQIef/xx2yhDRZjNZrvXJpOJsrLzvxlOTU3l66+/ZsSIETRr\n1gwPDw9WrFjBvn37Ktx/RRQVFTFo0KBLChs4P/cHIDY2lrfffptTp06xfft23NzciI6Otp0P8Nhj\nj1GnTp1yzy/Phfu8Vr/N4eWOXbheRe63vD4u/t5cLW0bKbWBFjUwjhaOMJ5ybCzl13jKsbGqdYTF\nYrHYTbq+oFGjRpSVlXHq1KlyJ6NfSVhYGGFhYbZHkVJSUmjatCnBwcHs2bPHbpL93r17adiwYYX7\n3rNnD82bN7c9VgZw9OjRSsXXoEGDSwqc375u1KgRmZmZ5ebngubNm+Pv78+GDRvYtm0bHTp0sBV4\nDRo0wNXVlWPHjtGiRYsKxRUcHMzevXvtju3du5f69evbrb72888/XxJ7gwYNKnSNy6nI/V7JhcKm\ntFQ/KOT6U1JSqkUNDKYcG085Npbyazzl2Pk5rPSpX78+sbGxfPbZZ2zatImcnBz27dvH0qVL2bp1\n62XPy8nJYf78+fz8888cO3aM7du3c/ToUduH6d69e7N27VrWrFlDVlYWK1euZNOmTXarYFUktgMH\nDrB9+3aysrJYsGABBw4cqNT9XRgBWrlyJVlZWSQlJdk9DgbnJ5qvW7eORYsWceTIETIyMkhNTWXB\nggV27WJjY1mzZg07duygY8eOtuMeHh706tWLuXPnsnbtWrKzs/nll19ITExk7dq15cbVq1cvdu7c\nyeLFi8nKymLt2rWsXr36kvzs3buX5cuX22L/8ccfK71K2m9V9H5/z4WV4LZs2cKpU6dso0wiIiIi\nIuCAVcIuNnr0aJYsWcK8efM4ceIE3t7eNGvWzLa8cHksFguZmZmsW7eO/Px8/Pz86N69O127dgWg\nXbt2xMfHs3LlSr766iuCgoK4//77y52AfjndunXj4MGDfPTRR8D5guHWW2+9pOD4PU2bNuWee+4h\nISGBhQsX0rJlS/r37283f6NVq1Y8+uijLFq0iOXLl2M2mwkODuaWW26x66tjx44sXbqUwMBAmjdv\nbvfeHXfcgY+PD8uWLSMnJwdPT08aN25Mv379yo2rUaNGjBkzhoSEBJYsWYKfnx+DBg2ym3AP5wub\nAwcOsHjxYjw9PYmPj7dNpr9aFb3f3+Pv72+bqP/5559XeFljbRspNZm2jRQREak4U1JSkpYAquUm\nTJhAz549r3lExZlYrVY9c2ogPddrLLPZhU6dOnD2LHoMwSDaS8h4yrGxlF/jKcfGcnV1YfPmVMf0\n5ZBeRKqYNo40ln6IG0sbR4qIiFScFp4WERERERGnpRGW68DkyZOrOwQRERERkauiERYREREREXFa\nKlhERERERMRpqWARERERERGnpYJFRERERESclibdS42Umppa4/YIiYiIwmq1VncYIiIiIjWKChap\nkWJja9pe4WksXw7t23eo7kBEREREahQVLFJDRQMx1R1EJWmTQBEREZHK0hwWERERERFxWipYRERE\n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\nj/DZZ5+Rl5dHv379XJY1/vG47dnfRdtGinRNZcC174ATEZFbjamwsFBL1EinY7fbdc2pgXRdr7GU\n77UlJXV8lTCr1UxIiF37NRlIGRtL+RpPGRvLajVTWlrsnrHcMorITaaNI42lb+LGUr4iIiJtp4Wn\nRURERETEa6lhERERERERr6WGRUREREREvJYaFhERERER8VpqWERERERExGupYREREREREa+lhkVE\nRERERLyWGhYREREREfFaalhERERERMRrqWERERERERGvpYZFRERERES8lhoWERERERHxWmpYRERE\nRETEa6lhERERERERr6WGRUREREREvJYaFhERERER8VpWTxcgciO++OILT5cgIiIiIjeBZlhERERE\nRMRrqWERERERERGvpYZFRERERES8lhoWERERERHxWmpYRERERETEa6lhERERERERr6WGRURERERE\nvJYaFhERERER8VpqWERERERExGupYREREREREa+lhkVERERERLyW1dMFiLRXYWEhGzZsoK6ujri4\nOGbMmEGfPn08XVan8+2337J+/Xq+++47Tp8+zZw5cxgyZIjLObm5uXz55ZecO3eOxMREHn30USIj\nIz1Uceezdu1aSkpKqKqqwsfHh4SEBB5++GGioqJczlPON+bvf/87mzdvpqamBoCYmBgeeughBg0a\n5DxH2brXunXr+Otf/8q9997L9OnTnceV843Jy8vjs88+czkWHR3NG2+84fy7su242tpaVq9eTVlZ\nGU1NTURGRpKTk0Pv3r2d5yjnG/fKK69w6tSpy46PGjWKmTNn0traSl5eXofytcyaNesN95UsYqzi\n4mKWLVvGtGnTmDhxIjU1NaxZs4asrCz8/Pw8XV6nUllZicPhYMSIEfzjH/8gLS2N6Oho5+Pr1q1j\n48aNZGdn88ADD7B//342bNjAXXfdhcVi8WDlncfatWvJyspi3LhxDBs2jL1797Jx40ZGjhzpzFA5\n37i6ujqSk5MZO3YsI0eOpKGhgRUrVnD77bcTGBiobN3s0KFDrFmzhtDQUMLDw0lJSQH0Hu6Ib7/9\nlrNnz/Laa69x3333cd999zFixAh8fX0BZesOZ8+e5T//8z+Jiopi+vTpPPDAA/Tp04fg4GDsdjug\nnDtq2LBhjB492vkeTk5OZseOHUyZMoWwsDAKCgo6nK8uCZNO5dIPe5mZmURHR/PYY4/h6+vLV199\n5enSOp1BgwYxYcKEy2ZVAFpbW/nb3/7G2LFjue2224iNjWX27NmcPn2anTt3eqDazum5554jbio2\nhgAABblJREFUMzOTHj16EBcXx6xZszh16hRHjhwBlHNHDR48mEGDBhEREUFkZCSTJk3Cz8+PgwcP\nKls3O3/+PB999BGPP/443bp1cx5Xzh1nNpsJCgpy/rr0Q7SydY+CggJCQ0PJzs6mT58+hIWFMXDg\nQCIiIgDl7A4BAQEu7+Fdu3YRERFBUlKS2/JVwyKdRnNzM0eOHGHgwIHOYyaTiYEDB3LgwAEPVtb1\n1NTUcObMGZes/f39iY+PV9YdcO7cOQDnD3zK2X0cDgfFxcU0NTWRkJCgbN1s+fLlpKamMmDAAJfj\nyrnjTp48yb//+7/zi1/8gj/+8Y/OS2uUrXvs2rWLXr168Yc//IHnn3+eX/3qV3z55ZfOx5WzezU3\nN7Njxw6ysrIA9+Wre1ik06ivr6e1tZWgoCCX44GBgZw4ccJDVXVNdXV1AFfM+tJj0j4Oh4M///nP\nJCQkEBMTAyhndzh27Bi//vWvuXDhAjabjTlz5hAdHU1FRQWgbN2huLiYo0eP8vLLL1/2mN7DHRMf\nH8+sWbOIiori9OnT5Ofn85vf/IbXX39d2bpJdXU1mzdvZvTo0YwdO5ZDhw7x6aefYrFYyMzMVM5u\ntnPnThoaGsjMzATc9z1CDYuItIvJZPJ0CZ3S8uXLqays5IUXXmjT+cq5baKjo3nttddoaGjg66+/\nZtGiRcyfP/+az1G2bXfq1ClWrFjB3LlzsVrb9yODcr6+Hy4QERsbS3x8PC+//DJff/21yz2FP6Zs\n2661tZXevXszadIkAHr27Mnx48fZvHmz84fqq1HO7ffVV1+RmppKcHDwdc9tT766JEw6jYCAAEwm\n02UdeV1dXZv+Y0jbXfok5EpZ//hTErm+5cuXs3v3bubNm0f37t2dx5Vzx1ksFiIiIujVqxeTJ08m\nLi6OTZs2Ob8nKNuOOXLkCPX19fzqV7/iqaee4qmnnmLfvn1s2rSJp59+Wu9hN/P39ycqKorq6mq9\nh92ke/fu9OjRw+VYdHS089I7vYfd5/vvv6e8vNx5ORi4L181LNJpWK1Wevfuzd69e53HHA4H5eXl\n9O3b14OVdT3h4eEEBQW5ZN3Q0MChQ4eUdTu0trayfPlySktLmTdvHmFhYS6PK2f3czgcNDc3K1s3\nGTBgAK+//jqvvfaa81fv3r0ZNmwYr776qnJ2s/Pnz3Py5EmCg4OVrZskJCRcdtl4VVWV8/uxcnaf\nrVu3EhQURGpqqvOYu/LVssbSqdhsNnJzcwkJCcFqtZKbm8uxY8fIzs7Wssbt1NjYSGVlJXV1dWzZ\nsoU+ffrg4+NDS0sL3bp1w+FwsHbtWnr06EFLSwuffvopFy5cYMaMGZjN+qyjLZYvX05xcTH/8i//\nQnBwMI2NjTQ2NmKxWLBYLJhMJuXcAWvWrMFqtdLa2kptbS1/+9vfKCoqYsqUKURERChbN7BarQQG\nBrr8KioqIjw8nIyMDL2HO+gvf/mL8z1cWVnJsmXLqK+vd66AqWw7LjQ0lM8++wyz2UxwcDBlZWXk\n5+czYcIEYmNj9R52E4fDwZ/+9CeGDRtGcnKy87i78jUVFha2GlW8iBEubRx5+vRpevbsqY0jb9A3\n33zDO++8c9nxzMxMcnJygIsbaW3ZsoWGhgZtpHUD5syZc8XjOTk5LtdOK+cbs3jxYsrLyzl9+jT+\n/v7ExcXxwAMPuKxGo2zdb8GCBfTs2fOyjSOVc/t9+OGH7Nu3j/r6egIDA0lMTGTSpEmEh4c7z1G2\nHffPf/6TNWvWcPLkScLDwxk9ejQjRoxwOUc5d8yePXt49913efPNN6+YW0fzVcMiIiIiIiJeS/Nc\nIiIiIiLitdSwiIiIiIiI11LDIiIiIiIiXksNi4iIiIiIeC01LCIiIiIi4rXUsIiIiIiIiNdSwyIi\nIiIiIl5LDYuIiIiIiHgtNSwiIiIiIuK11LCIiIiIiIjXUsMiIiIiIiJe6/8Bv+DLHrmKnyYAAAAA\nSUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def labels_list_names(ls):\n",
" return [l['name'] for l in ls]\n",
"\n",
"cards_indexed_by_id = {c['id']: c for c in big_list_of_cards}\n",
"\n",
"average_time_per_label = {}\n",
"median_time_per_label = {}\n",
"\n",
"for label in labels.keys():\n",
" # Basically the same code as before\n",
" dates_moved = { c['data']['card']['id']: parse_date(c['date']) \n",
" for c in moved_to_done\n",
" # add one filter for the current tag\n",
" if label in labels_list_names(cards_indexed_by_id[c['data']['card']['id']]['labels'])}\n",
"\n",
" # Create a dictionary card_id -> date to track the date a card was created\n",
" dates_created = {c['data']['card']['id']: parse_date(c['date']) for c in ls['To Read']['actions'] \n",
" if 'card' in c['data'] \n",
" and c['data']['card']['id'] in dates_moved.keys() \n",
" and c['type'] == 'createCard'\n",
" }\n",
" \n",
" # Calculate the difference in days, assuming date_moved > date_created\n",
" times = [(d-dates_created[cid]).days for cid, d in dates_moved.items()]\n",
" if len(times) == 0:\n",
" times = [0]\n",
" \n",
" average_time_per_label[label] = math.floor(statistics.mean(times))\n",
" median_time_per_label[label] = math.floor(statistics.median(times))\n",
"\n",
"for label, time in average_time_per_label.items():\n",
" print('For label ' + label + ': avg time: ' + str(time) + ' days, mean: ' + str(median_time_per_label[label]) + ' days')\n",
"\n",
"# Plotting\n",
"x = np.arange(len(labels.keys()))-1\n",
"averages = plt.barh(x-0.2, list(average_time_per_label.values()), label=['average', 'mean'], height=0.2, color='r')\n",
"means = plt.barh(x+0.2, list(median_time_per_label.values()), height=0.2, color='b')\n",
"plt.legend((averages, means), ('Average time', 'Mean time'))\n",
"plt.yticks(x, list(label for label in average_time_per_label.keys()))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## At what day of the week a card is more likely to be moved?\n",
"\n",
"It can also be exciting to examine reading habits with the days of the week. \n",
"\n",
"Are some days more productive than others?"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nYb3yyiuy2+3Ky8vT2rVr9emnn+pf/uVfFB8fr4qKCp06dUrSmQPQ7NmzFRMToxkzZqimpkYLFiw4\nr4+IiAj+7IX/AAARpklEQVRNnjxZsbGx+vzzz/XKK68oLCxMI0aMUGJionJzc7Vhwwa/sLNx40bl\n5eVd9vadfQM7G8727NmjESNGyOv1avfu3erRo4dcLpdKS0s1ePBgrVixQps3b9aECROUlJSkvXv3\n6sUXX1SHDh3Uo0cPVVRUaPbs2br55pt144036tChQ3rzzTfP69flcmn16tX6/ve/L0l68cUXtXDh\nQt/P7b3uF3Kh1+i3OfeMRnFxsYYMGeJ73Mcff6w1a9bowQcfVFpamqqqqvyuK3z55ZdVVVWl6dOn\ny2az6fXXX1d1dbVfm1arVffee68SExN18uRJvfbaa1q0aJHGjx+vsLAwXXfdddqwYYNfyDz7czCe\nMTi3Rueqq6vTn//8Z1111VX6/ve/r7KyMr3++ut+63i9XsXFxekHP/iBoqKitH//fs2bN08xMTG6\n5ppr1KNHDyUmJqq4uFjf/e53JZ05aJeUlOjuu+8O+DZeTFhYmMLCwrR161ZlZWV944z3hZ737Oxs\njR071m9mPjw8/Fv7+6Yzb4sXL9aYMWPUqVMnhYSEaPXq1SouLtakSZOUkpKi1atXa+vWrerZs6fv\nMS6XS9/97neVnp6u+vp6LV26VLNnz9bMmTNlsVg0ePBgvf766xozZoxvmzZt2qS4uLgWDZhS02rc\nVBy/L44bfy7BoEGDtG/fPlVUVKi8vFz79+/XwIEDfbOYLpdLH374oe655x716tVLqampuv/++xUa\nGqr169f7tXXnnXeqe/fuSk1N1a233qoDBw6osbFRkrRmzRrl5+crPz9fycnJ+t73vqfU1FS/x+fk\n5GjgwIFKTk5WSkqKJkyYIJfLpb1790qSunXrppSUFL/roDZs2KBrr71Wdrs9kGUKiGXLlumee+5R\n//79lZCQoKuvvlrDhw/XRx99JEk6deqUkpKSlJ2drfj4eGVnZ/tejLt27dKXX36pKVOmKD09Xd27\nd9fo0aPP62PkyJHq2rWr4uPj1bdvX91yyy36+OOPfb8fPHiwSkpKfM/T4cOHdfToUSOfKnNycrR/\n/355PB7V1dXpyJEj6tGjh7p37649e/ZIkm8f6dGjhwoLCzVp0iRdddVVSkxMVF5engYOHOirxwcf\nfKCkpCTdc889Sk5O1sCBA3XDDTec16/b7daECROUmZmpzMxM3Xzzzdq1a9cVU/cLudBr9NucfS84\nKykpSXfddZeSk5OVnJysiooKORwO9ezZU3FxcerSpYsGDx4s6cys744dO3T//fcrKytLmZmZmjhx\nohoaGvzaHD58uHr06KH4+Hjl5OSooKDgvHrt2LFDVVVVks7Mjm7fvr3VZz8+/fRTTZs2zffnr3/9\nq6Tza3SuzZs3y+v1auLEiUpNTVWfPn00YsQIv3VsNpvuuOMOZWZmKiEhQQMHDlReXp62bNniWyc/\nP18bNmzw/fzJJ5/4Zppam81m06RJk1RcXKxHH31Uzz77rN5++20dPXrUt86FnnebzeY3M+9wOJr9\nPj98+HDf6zwmJkZr1qzRbbfdpv79+/uOMREREX6PGTBggPr376+OHTsqIyNDEydO1NGjR3Xs2DFJ\n0tVXXy1Jfjdxbdy48RvfiwKtKTVuKo7fF8dM5iXo0KGD+vTpow0bNsjr9apv375+0+AnTpyQ2+32\nu4DYZrOpS5cuOn78uF9b6enpvn+fPX1TXV2tuLg4HT9+3Hc68qyuXbv6woZ05sCxZMkS7dmzR9XV\n1fJ4PHK5XKqoqPCtk5+fr3Xr1mnEiBFyOp3asWOHHnvsMTPFaEH19fUqKyvT3Llz9corr/iWezwe\n35teXl6e/vCHP+gXv/iFevXqpT59+uiqq66SJB07dkxxcXF+p4C7du16Xj8lJSUqKirSyZMnVV9f\n79e+JPXr10/z58/X1q1bfbNFPXv2VHx8/GVv49dnKr/66islJyerQ4cO6t69u15++WU1NDRoz549\n6tixo+rq6uRyuc67wP/saRdJOn78uO/U+1nn/ixJdrvd7/pOh8Phmzm7Eup+IRd6jTbV12dfJena\na6/V2rVr9bOf/cxXr759+8pqterYsWOyWq1+j0lJSTnvwL5z506tWLFCX375perq6uR2u9XY2Oi7\ndrdLly5KS0vTxo0bdeutt2rTpk1KSEho9RuaevbsqfHjx/t+ttvt+t///d/zanSu48ePKyMjw2/m\n6Zv25aKiIm3YsEGnTp2Sy+Xyez1IZ/bVpUuX6uDBg8rKytLGjRuD6qA9YMAA9enTR/v27dOBAwe0\nY8cOrVy5UhMnTlReXt5Fn/fL9fXnoba2Vk6n06/O5+6b0pkPRsuWLdPBgwd1+vRp34esiooKpaWl\nKTQ0VNdff73Wr1+va665RocPH9YXX3yhhx9++LLHeykuVOPmvD44fl8cIfMS3XDDDZo/f74sFovf\ndSZS8+4A/fpF1Wcfd+4syIW89NJLqqmp0bhx45SQkKCQkBA988wzcrvdvnUGDRqkxYsX68CBA9q/\nf78SExOVnZ3d5D5aisViOW/bv74d9fX1kuSb4fm6s3djZ2Zm6je/+Y22b9+unTt36oUXXlDPnj31\ngx/8oElj2L9/v1588UUVFBSoV69eioiI0ObNm/Xee+/51gkJCdGgQYN8px43b96se++995K2+VxJ\nSUmKjY3V7t27VVNT47sGMzY2VnFxcTpw4IB2796tnJwcXz3+/d//XbGxsX7tNPcU0LkX9399H74S\n6n4hF3qNXmyfPevcABMXF6cnn3xSO3fu1M6dO/Xaa69p1apVft8gcCFlZWX605/+pKFDh2r06NGK\niorS3r179corr6ixsdEXNgYPHqz3339ft956qzZs2NAqM0fnstvt33gneVNC3sXeG0tKSrRo0SKN\nGTNGXbt2VXh4uFatWqWDBw/61nE4HOrbt682bNighIQE7dixo8l1bymhoaHKzc1Vbm6uRo0apVde\neUXLli1Tjx49mvS8f5um7KuXcinFn//8ZyUmJmrixImKiYmRx+PRk08+6df+4MGD9fTTT+vUqVNa\nv359i3xAvJBvq/GPfvQjSf61+qY6SRy/m4LT5ZeoV69ecrvdcrvd6tWrl6R/7mQdO3aUzWbTvn37\nfOu73W6VlpaeN11+IampqX5vjtKZU6Xn/jxs2DD17t1bqampstlsOn36tN86HTp0UP/+/bV+/fpW\nO0XRFNHR0XI6nX7LPv/8c19dHQ6HYmJidPLkSXXs2NHvT0JCgu8x4eHhuvbaa3X//ffrwQcf9N2M\nkpqaqlOnTvlOH0rfXM+EhATddtttyszMVMeOHVVeXn7eWAcPHqxdu3apqKhIXq/XdzrIhJycHO3Z\ns0d79uzxhUxJ6t69uz777DOVlpYqJydHqampCgkJUXl5+Xn1ODvL9k370Lk/X8yVUvdLER0d7bdd\nkv8+eyGhoaHq27evxo0bp+nTp+vAgQP64osvlJKSIo/H43d3+/Hjx/2+r/Pw4cOSpDFjxigrK0tJ\nSUmqrKw8r4+BAweqvLxca9eu1fHjxwN+/Wogpaam6ujRo36XDZy7L+/bt0/dunXTkCFD1KlTJ3Xs\n2FEnTpw4r638/Hxt2bJFH330kZKSkoL+a2tSUlJ83zwhXfh5DwkJkcfjOa+Nc/fVL7/8Ui6X64L9\nRkREKCYmxu/16na7feOQpNOnT+vEiRMaOXKkcnJylJKSopqamvPaSk9PV+fOnfXRRx+ppKQk6I5D\nKSkpcrlcio6OliS/Wh05cqTZ7V1px+9vw0zmJbJarfrVr34l6fxPMHa7XUOGDNGiRYsUFRWluLg4\nrVq1Sg0NDb7rrppi2LBhmjNnjjp37qxu3bpp06ZNOnbsmN8sQFJSkoqLi9W5c2fV1tZq4cKF3/hp\ndvDgwfrTn/4kr9cbtAeanJwczZ8/XytXrtSAAQO0fft27dixw+/C9TvuuEMLFixQRESEevXqpcbG\nRpWWlqq2tlbf+c53tHr1asXGxqpTp06yWCzasmWLYmJiFBkZqdzcXCUnJ2vOnDm6++67VVtbq7ff\nfttvDElJSaqoqFBJSYm6dOmizz77TNu2bTtvrCkpKcrKytLixYuVn59v5DTV1+vw2muvyePx+IXM\nHj16aP78+XK73crJyVF4eLhuueUWvfnmm/J6vcrOzlZtba327duniIgI5eXl6aabbtLq1au1aNEi\n5efn6/Dhw9q4cWOzx3Ql1P1S9OzZU6tWrVJxcbGysrK0adMmffHFF36nZ7/J2UttunTpIrvdruLi\nYtntdsXHxysqKkq9evXSq6++qvHjx8tqteqNN97w29aOHTvK7XZr7dq16tOnj/bv3++7PvbroqKi\ndPXVV2vRokW66qqrzpvxbksGDhyoJUuWaN68eRoxYoTKy8u1evVqv3WSk5O1adMm/f3vf1dCQoKK\ni4t932jwdb169VJ4eLiWL1/+jXfut5bTp0/rr3/9q/Lz85Wenq7w8HAdOnRIq1atUv/+/ZWUlHTR\n5z0hIUH19fXatWuXMjIyZLfbZbfblZOTo6KiInXt2lVut1tvvfVWk76eaNiwYSosLFRSUpLvxp+v\nf+CJjIxUVFSUPvroIzkcDlVUVGjx4sXf2NbgwYM1f/58hYWFtdoHxAvVuF+/fgoNDVVWVpYKCwt9\nX2+0ZMmSZvdzpR2/vw0h8zKce9fe12cvRo8eLa/Xq5deesn3FUaPPPLIeddVXci1116rkydP6q23\n3lJDQ4MGDBigIUOG6O9//7tvnYkTJ2revHl6+umnFR8frzvvvFMLFy48r63c3FzFxMQoLS3N79q4\nYJKSkqLx48drxYoVevfddzVgwADdcsstWrdunW+dwYMHy263a9WqVVq0aJHCwsKUnp6u4cOHSzrz\nyXvlypU6ceKErFarunTp4vv6B4vFoqlTp2ru3Ln6j//4DyUmJmrcuHH64x//6Gu/X79+Gj58uF5/\n/XU1NjaqT58+GjVqlN55553zxpufn68DBw4Yv5EiJydHjY2NSklJ8X2qls6EzPr6eqWkpPiu//ne\n976n6OhoFRYWqqysTBEREercubPvq13i4+M1depUvfHGGyoqKlJWVpbuvPNO39ecNNWVUPdLcdVV\nV2nUqFFatGiRGhsblZ+fr0GDBumLL7644OMiIyNVWFioN998Ux6PRxkZGXr44Yd93zwxadIkzZ07\nV7///e/lcDhUUFCgpUuX+h7fqVMn3XPPPVq5cqUWL16sHj166M4779ScOXPO6ys/P18lJSVBUa/L\nERYWpocfflivvvqqfv3rXystLU133XWX/ud//se3zk033aQjR47ohRdekHQmmA4ZMkQ7duzwa8ti\nsSgvL08rVqwIqoN2eHi4srKy9N5776msrExut1txcXG68cYbddtttyk0NPSiz3u3bt1000036YUX\nXtBXX33l+wqjMWPGaM6cOfrtb3+r2NhYjR07Vn/7298uOqZbbrlFVVVVmjNnju8rjK6++mpf0LRa\nrXrggQe0YMECPfnkk0pJSdHYsWP13HPPndfWddddpzfeeEPXXXddq31X7MVqLP3z9ffrX/9aKSkp\nuuuuuzRr1qxm9XOlHb+/jaWoqKjpFxCgzaqrq9MTTzyhyZMnq3///q09nHbh3Xff1f/93//p5z//\neWsP5YpC3ZunuLhYCxcu1DPPPNMuv1j7Us2dO1enT5/Wv/7rv7b2UK4YZWVl+vnPf66f/vSnF53t\nxz+15eM312S2c16vV06nU++++67vi3txeerr63X06FG9//77uvnmm1t7OFcM6t48LpdLJ0+eVGFh\noW688UYC5j+cvaRk8+bN7EctxO12q6qqSkuWLFHXrl0JmE3UHo7fnC5v58rLyzVz5kzFxcVp8uTJ\nvruBcenmz5+vkpISXX311W3+FGRbQt2bZ+XKlVqxYoV69Ohx3v+McyX77//+b5WWlmrIkCHKzc1t\n7eFcEfbt26fnn39eycnJTf7GCbSP4zenywEAAGBc24vFAAAACHqETAAAABhHyAQAAIBxhEwAAAAY\nR8gEAACAcYRMAAAAGEfIBAAAgHGETAAAABj3/7T1g5LF/ZA2AAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import dateutil.parser\n",
"from pytz import timezone\n",
"\n",
"# localize the time to Sweden\n",
"sweden=timezone('Europe/Stockholm')\n",
"\n",
"WEEK_DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']\n",
"days_of_week_punchcard = sorted(\n",
" Counter(\n",
" [dateutil.parser.parse(moved_action['date']).astimezone(sweden).weekday() for moved_action in moved_to_done]\n",
" ).most_common()\n",
" , key=lambda day: day[0]\n",
" )\n",
"\n",
"# Plotting\n",
"x = np.arange(len(WEEK_DAYS))\n",
"plt.xlim(x.min() - 0.5, x.max() + 1)\n",
"plt.bar(x, [d[1] for d in days_of_week_punchcard], alpha=0.5, width=0.6)\n",
"plt.xticks(x + 0.3, WEEK_DAYS, fontsize=10)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Surprisingly I manage to get things done on Mondays!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## And now, at what time of the day?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nOEomAAAAjKNkAgAAwDhKJgAAAIyjZAIAAMA4SiYAAACMS4rGTHfs2KHXXntNHo9HxcXFuv322zVp\n0qRoRAEAACAOGT+SuXfvXq1fv14333yzVq1apeLiYlVVVamtrc10FAAAAOKU8ZL5+uuv6ytf+YrK\ny8tVWFioO++8Uw6HQ7t27TIdBQAAgDhltGR2dXWpvr5eU6dO7b3NZrNp6tSpOnLkiMkoAAAAxDGj\n52S2t7crGAzK6XT2uT0rK0ufffZZyMdblk2WZQs7z2631N7WKmuQqmzZbPI6kuX3n1YgGOy7rG2t\nststJSUN3bOHk2Eqx1SGJH3yySdDLINNXm+a2tp86u7un1NUVBRy/rHKGConVEYkOdHOiMXfcKic\n0fQ3zDYfu3Xh+YosJ54yQuXwmpjLMJUzmp6vSNh27Ngx8B7yPLS2tmrlypVasWKFSkpKem9//vnn\ndfjwYa1cudJUFAAAAOKY0Y/LMzMzZbPZ5PF4+tzu8XiUnZ1tMgoAAABxzGjJTEpK0sSJE3Xo0KHe\n2wKBgD788ENdfPHFJqMAAAAQx4xfJ3P27Nlau3atJk6cqEmTJmn79u06ffq0vvSlL5mOAgAAQJwy\nXjKvvvpqtbW1aevWrXK73brooou0dOlSZWVlmY4CAABAnDL6xR8AAABAYuxyAAAARAElEwAAAMZR\nMgEAAGAcJRMAAADGUTIBAABgHCUTAAAAxhm/Tma82LFjh1577TV5PB4VFxfr9ttv16RJk4zNv7a2\nVq+++qqOHTsmt9utJUuWaPr06cbmL0kvv/yy3n33XZ04cULJycmaPHmybr31VhUUFBjLeOutt1RT\nU6OmpiZJUlFRkW666SZNmzbNWMa5tm3bpk2bNumGG27QN7/5TWPz3bp1q1588cU+txUWFmr16tXG\nMiSppaVFGzZs0Pvvvy+/36/8/HwtXLhQEydONJbx4IMP6uTJk/1u/+pXv6o77rjDSEYgENDWrVu1\nZ88eud1u5eTkqLy8XDfddJOR+ffo6OjQ5s2bdeDAAXk8Hk2YMEHf/OY3z3t7DGfb27Jli3bu3Cmv\n16vS0lItWLBA+fn5RnP+8Ic/qKamRvX19fJ6vVq1apWKi4uNZXR3d2vTpk16//331dTUpLS0NE2Z\nMkW33nprRMP0hlqPrVu36ve//71aWlpkt9s1ceJE3XLLLSopKTGWcbbf/e53evvtt/WNb3xDs2bN\nCjsjnJy1a9dq9+7dfR5TVlame+65x+i6fPrpp9qwYYMOHz6sQCCgcePG6Xvf+57y8vKMZCxZsmTA\nx912221Q6EEmAAAPg0lEQVT627/9W2Pr0tHRoY0bN+rAgQNqb2+Xy+XSDTfcoL/5m78xluHxeLRh\nwwYdOnRIXq9Xl1xyiW6//faItsdw94XD2e7DyTCxzYfKMbHdh7MuJrb7cCRkydy7d6/Wr1+vu+66\nSyUlJXr99ddVVVWlH/3oR8YuCu/3+zVhwgTNnDlTa9askc1mMzLfsx0+fFjXX3+9Jk2a1PuHV1VV\npdWrV8vhcBjJyM3N1de//nUVFBQoGAzqnXfe0b/927/poYceUlFRkZGMs9XV1entt9/W+PHjjc9b\nOlOS77333t7f7Xa70fmfOnVKP/3pTzVlypTeQQYaGhqUnp5uNOfBBx9UIBDo/f348eOqqqrSVVdd\nZSxj27Ztqqmp0eLFi1VUVKS6ujr99re/VVpamm644QZjOevWrdOnn36q73znO8rOztbu3bv1L//y\nL1q9erVycnIinl+obW/btm3asWOHFi1aJJfLpc2bN/duN8nJycZy/H6/LrnkEl199dV6+umnI16P\nUBl+v1/Hjh3TTTfdpOLiYnm9Xj377LP6xS9+oQcffNDYehQUFOiOO+6Qy+WS3+/X9u3bVVVVpUcf\nfVSZmZlGMnq8++67Onr0qLKzs8/rPTOcnLKyMi1cuLD390he83AyGhsb9dOf/lQzZ85URUWF0tLS\n9Mknnxj923rsscf6/H7w4EGtW7dOf/VXf2V0Xf77v/9btbW1+s53viOXy6UPPvhAv/vd75Sdna0r\nrrhi2BnBYFC//OUvlZycrL//+79XamqqXn/99d7tP9z9WDj7wuFu9+FkmNjmQ+WY2O7DWRcT2304\nErJkvv766/rKV76i8vJySdKdd96pP/7xj9q1a5duvPFGIxnTpk2L6tE+SVq6dGmf3xctWqTKykrV\n19ertLTUSMbll1/e5/f58+erpqZGR48eNV4yOzo69B//8R/61re+1e+IoymWZcnpdEZl3pL0yiuv\nKC8vT9/+9rd7bxszZozxnHM38pdfflljx47VF77wBWMZR44c0fTp03v/jvPy8rRnzx59/PHHxjL8\nfr/effddff/73+/9m7355pv13nvv6a233tItt9wS8TyH2vaCwaC2b9+uuXPn9u4kFy9erPvvv1/7\n9+/XNddcYyRHkmbMmCFJvZ8CnI+hMtLS0vr8h0mSbr/9dv34xz9WS0uLcnNzh50hSddee22f3//u\n7/5Ou3bt0vHjx3XppZcayZDOfALw7LPPatmyZfrXf/3XsOZ7PjlJSUnDeg8IlbFp0yZddtlluvXW\nW3tvc7lcRjPOXf79+/drypQpxnOOHDmi8vLy3veVmTNn6q233tLHH38cdskcKqOhoUF1dXX64Q9/\nqHHjxkmSFixYoPvvv1979uzRzJkzw8oItS80sd2Hs781sc2HyjGx3YezLia2+3Ak3DmZXV1dqq+v\n19SpU3tvs9lsmjp1qo4cOTKCSzZ8Xq9XkowfNesRCAS0d+9e+f1+TZ482fj8q6urddlll2nKlCnG\n592joaFBK1as0EMPPaSnnnpqwI+ch+O9997ThAkT9Ktf/UqVlZV69NFHtXPnTqMZ5+rq6tL//u//\n6stf/rLR+U6ePFmHDh3SiRMnJEnHjh3TRx99pLKyMmMZgUBAwWBQSUl9/z+bnJys//u//zOW06Op\nqUltbW19tv+0tDSVlJSM+u1fknw+n6Qz6xQNXV1devvtt5WWlhbxx4BDCQQC+s1vfqOvfe1rvWUj\nWmpra1VZWalHHnlE//Vf/6VTp04Zm3cgENDBgweVn5+vqqoqVVZW6sc//rH2799vLONcHo9HBw8e\nNL79S2feAw4cOKDW1lYFg0H96U9/UkNDg774xS8amX9XV5ck9dn+bTabkpKS9NFHH533fM/dF0Zj\nu4/2/jaSnOFu96EyorXdSwl4JLO9vV3BYLDf/wSzsrL02WefjdBSDV8gENBzzz2nyZMnGz/CePz4\ncf3kJz/R6dOnlZqaqiVLlqiwsNBoxt69e/XnP/9ZDzzwgNH5nq2kpESLFi1SQUGB3G63XnjhBf3s\nZz/TI488otTUVCMZjY2Nqqmp0ezZszV37lzV1dXpmWeekd1u7z1ybtr+/fvl8/mMz//GG2+Uz+fT\nD3/4Q1mWpUAgoPnz5/f7H+5wpKam6uKLL9aLL76ocePGKSsrS3v27NHRo0cjPkcyHB6PR1L/I0FZ\nWVm900ar06dPa8OGDbr22muN/T33eO+99/TrX/9afr9f2dnZuvfee5WRkWFs/q+88orsdrvR0zAG\nUlZWpiuvvFIul0sNDQ3atGmTnnjiCa1YsUKWNfxjKm1tbers7NQrr7yiW265RbfddpsOHjyoNWvW\n6L777jP6SUOP//mf/1FqamrEH5WH4/bbb9d//ud/auXKlbIsSzabTd/61reMfVJWWFiovLw8bdy4\nUXfddZccDodef/11tba2yu12n9c8B9oXmt7uo7m/jTRnuNv9UBnR3u6lBCyZiaq6ulqffvqp7r//\nfuPzLiws1MMPPyyfz6d9+/Zp7dq1Wr58ubEjDidPntSzzz6rH/zgB/2OaJl09kc248ePV0lJiR54\n4AHt27fP2FGAYDCoiRMnav78+ZKkiy66SJ988olqamqiVjJ37dqlyy67LKIve4Tj97//vfbs2aPv\nfve7KioqUn19vZ577jllZ2cbXZfFixdr3bp1WrFihWw2myZOnKhrrrlG9fX1xjLCEY3zpmOlu7tb\nTz75pKQzHzeaNmXKFD388MNqb2/X22+/rSeffFIrV640cg77xx9/rDfeeEOrVq3qc3swGBz2vM91\n9seiRUVFKi4u1qpVq1RbW2vkE5SeZb7iiit6v7RUXFysI0eOqKamJiolc9euXfrrv/7rqLx3vvHG\nGzp69Ki+//3vKy8vT7W1taqurlZ2dnafo4Lny263a8mSJVq3bp3uu+8+2Ww2ffGLXxzWpyWR7gvP\nZ7uP5v42khwT2/1QGdHc7nskXMnMzMyUzWbr978Xj8djfCcdK9XV1Tp48KAqKyvP64sSodjtdo0d\nO1aSNGHChN6dwp133mlk/vX19Wpvb9ejjz7ae1swGNThw4f15ptv6he/+EVUCkBaWpoKCgrU2Nho\nbJ45OTn9yndhYaH+8Ic/GMs4W3Nzsz788MNBv206HM8//7xuvPFGXX311ZLO7JRPnjypbdu2GS2Z\nY8eO1fLly+X3+9XR0SGn06knn3wy4vPLwtFzJMPj8fQ5qtHzrfbRqGdH09LSoh/84AfGj2JKksPh\n0NixYzV27FiVlJTo4YcfNnYO++HDh9XW1qaVK1f23hYMBrV+/Xq98cYb+sd//MdhZwzG5XIpMzNT\njY2NRkpmZmamLMvq9x5QUFAwrI9/B3P48GE1NDToe9/7nvF5+/1+bd68WUuWLNFll10m6cx/zv/8\n5z/rtddeM1IypTP7lFWrVqmjo0NdXV3KzMzUP/3TP53X1SUG2xea3O6jvb8NN8fEdh8qI5rbfY+E\nK5lJSUmaOHGiDh061HsCcCAQ0Icffhj1j2pMCwaDeuaZZ3TgwAEtX748Kl8wGUggEOg9l8aEKVOm\n6JFHHulz229/+1sVFhZqzpw5UTvC1NHRoYaGht6TtU2YPHlyv9MuTpw4EbXX5p133pHT6ezdCZjk\n9/v7fYRos9micoRJOvOG5nA4dOrUKR06dEi33Xab8QyXyyWn06lDhw71nlvk8/lUV1en6667znhe\ntPXsaBobG3XfffcZ/yhrMCbfA8rLy/ud41dVVaUZM2boS1/6kpGMwbS0tKi9vd3YAYakpCRNmjSp\n9zzmHg0NDVF5D9i1a5cmTpwYlatxdHd3q7u7O2bvAT0l6cSJE6qvr+/9NCgcofaFJrb7WO1vw8kZ\n7nZ/vutiet8vJWDJlKTZs2dr7dq1mjhxoiZNmqTt27fr9OnTRt/QOjs71dDQ0Pt7Y2Ojjh07poyM\njLCvlRZKdXW19u7dq7vvvlsOh6P3HJb09PSIL8sxmI0bN2ratGnKzc1VZ2en9uzZo9raWi1btszI\n/KUzby7nngvicDiUkZFh9HyX9evX6/LLL1deXp7cbre2bt0qu90e0TeKQ5k1a5Yee+wxvfzyy7rq\nqqtUV1ennTt36q677jKW0SMQCOidd97RjBkzjJxPdq7LL79cL730knJzczVu3DgdO3ZM27dvN/4F\ngw8++ECBQECFhYVqaGjQ888/r8LCwvPeHkNte7NmzdJLL72k/Pz83kuZ5OTkRHwd21A5p06d0smT\nJ9Xa2ipJ+uyzzxQMBpWdnR32t5uHysjOztavfvUr1dfX6x/+4R/U3d3d+x6QmZkZ9uW5hsrIzMzU\niy++qOnTp8vpdKq9vV1vvvmm3G53RJfLCvVcnbuTtNvtys7Ojviav0PlZGRkaOvWrbrqqquUlZWl\nxsZGbdiwQfn5+RF9PBtqXb72ta/p3//933XJJZfoC1/4gt5//3299957qqysNJYhqff0pW984xth\nzzfSnEsuuUTr169XcnJy78flu3fvjuj6xaEy9u3bp8zMTOXl5en48eN67rnnNH369IiOlIbaF9ps\ntmFv9+Hsb01s86Fyuru7h73dh8rw+/1Gtvtw2Hbs2BGdwxYjrOdi7G63WxdddJHxi7H/6U9/0uOP\nP97v9vLy8j7XaBuOwT4iXbhwobGPM9etW6cPP/xQbre795tlc+bMMfZRyWD++Z//WRdddJHRi7H/\n+te/1uHDh9Xe3q6srCyVlpZq/vz5xj+W/eMf/6iNGzeqoaFBLpdLs2fPDvtSHJH44IMP9MQTT+hH\nP/pRVL4k09HRoS1btmj//v3yeDzKycnRtddeq5tuusno9UX37dunjRs3qqWlRRkZGbryyis1f/78\n8/7YN5xtb8uWLXr77bfl8/nO+2LsoXLeeecdrVu3rt/0efPmad68ecPOmDdvnh566KEBHxfJl0yG\nyliwYIGeeuopHT16VO3t7crMzNSkSZM0d+7ciAYXiPT98MEHH9Ts2bMj/nQp1Lr88pe/1LFjx+Tz\n+ZSdna2ysjJVVFREdI5ZOOuya9cubdu2TS0tLSosLNTNN98c9iV/ws2oqanR+vXr9dhjj0VtW/F4\nPNq4caM++OADnTp1Si6XSzNnztTs2bONZbzxxht69dVX1dbWpuzsbM2YMSPi95hw94XD2e7DyTCx\nzYfKaWpq6nf+co9wt/tQGadPnzay3YcjYUsmAAAARk7CXScTAAAAI4+SCQAAAOMomQAAADCOkgkA\nAADjKJkAAAAwjpIJAAAA4yiZAAAAMI6SCQAAAOMomQAAADCOkgkAAADjKJkAAAAw7v8BlOkN6Mtc\ndQIAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hours_of_day_punchcard = { x: 0 for x in range(24)}\n",
"for moved_action in moved_to_done:\n",
" hours_of_day_punchcard[dateutil.parser.parse(moved_action['date']).astimezone(sweden).hour] += 1\n",
"\n",
"x = np.arange(24)\n",
"plt.xlim(- 0.5, 24)\n",
"plt.bar(x, hours_of_day_punchcard.values(), alpha=0.5, width=0.6)\n",
"plt.xticks(x + 0.3, x, fontsize=10)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Interesting results again:\n",
"- I sleep at least between 3 and 6 (which is comforting)\n",
"- I usually eat between 8 p.m and 9 p.m, so no time for reading at that moment!\n",
"- There is a big peak at the end of the day, which could mean that I might be tired after a day at work and I am more likely to finish the afternoon with a good read."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Punchcard (days and hours combined)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\nPrzeHlJTEwiFMlCU0SWGiqKwYcMS8vI8FBYe5/TpIJ2d8QSDU9G0OBTFicfTiGG0MH16gI0bp5KT\ns3FUQ27kCzEmAAAgAElEQVTG8lgzDINHH11HU9Ml9u0rpK7OQU9PKg5HJqoah8fjBppITOxm3jyL\nLVsWjHjmLiFuBkmyJ4EVK+azZEmAkpIKjh3rpbXVJBCYimmmoWkWXm8XwWAT8fHtzJ0bYvPmOWRl\nrQ+/YSHEpNY3LCURp1MlJSX+z28okyQ7HE3TcLnSx/xuhmEYV1/PHMs4cXFx3HXXSu66q29mpgsX\nmvF4LpOWlkB8fBzJyStjPqXaWB5rU6dm8uijmdi2TVdXJ01NzZimTjAYJCtrGgkJI7u7IMTNJkn2\nJKFpGhs2LGPDBvD7/TQ2XqKlpYK4OBeWFSQ7ewpJSXMm1VyVQgghRsc0TebNmz1ph0BdT1EUkpNT\nSE9Pm/R1EQIkyZ6UdF1n9uyZzJs3+RtVIYQQQohb0YR/46MQQgghhBCTjSTZQgghhBBCxJgk2UII\nIYQQQsSYJNlCCCGEEELEmCTZQgghhBBCxJgk2UIIIYQQQsSYJNlCCCGEEELEmCTZQgghhBBCxJgk\n2UIIIYQQQsSYJNlCCCGEEELEmCTZQgghhBBCxJgk2UIIIYQQQsSYJNlCCCGEEELEmCTZQgghhBBC\nxJgk2UIIIYQQQsSYJNlCCCGEEELEmCTZQgghhBBCxJgk2UIIIYQQQsSYJNlCCCGEEELEmCTZQggh\nhBBCxJgk2UIIIYQQQsSY82YXQAghhBATm23bdHd3EQz6se0UbFu72UUSYsKTJFsIIYQQA9i2zalT\n1ZSUtHPpkgOPJxlwERfXClwiLS3A8uUuVq1aiNMp6YQQN5KzQgghYqitrZ29e6u4dMlBIKCQmGig\nKL0sWxZPXt58HA5HTOI0NDSxf389HR1OgkGF5GQDh8PD6tXpLFw4G0VRYhLnVuL3+ykqqqCyMkAg\noGKaBqGQl+xs2LRpIfHx8Te7iBNGc3MrO3ZUcPnyUkxzCQAuF6iqgsul09s7m9ZWmw8+6OTAgaM8\n+OA05s/PHnE827aprKyluPgyHo+GphkEgz6SkvzcfvssZsyYGquqiQnsVmvXJMmepNxuNy0tbZim\njqoqZGZmTrqDT4hbSWNjC+++W8OFC+lo2jpU1YGqKiiKTm+vn3feaWXPnuPk5Tn49KdXjPh8PXOm\n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\ndettss/CUFWVu+++jTvu8FNcXEF9vY+2NoVQSCUuTic11UtmpsrGjQuJixv5bFbX0zSNdeuWynfz\nF+xWa9ckyRZCCCHEoHRdZ9Omaw8m3gqJjxDjZVJM4SeEEEIIIcRkIkm2EEIIIYQQMSZJthBCCCGE\nEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJthBCCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJthBC\nCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJthBCCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJ\nthBCCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJthBCCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQ\nMSZJthBCCCGEEDEmSbYQQgghhBAxJkm2EEIIIYQQMSZJthBCCCGEEDHmvNkFEEKI8WDbNm1tbZw9\n20RXl5+EBJOEBAdz5mSRlJR8s4v3F6+np4e6ukYuXOgmLs5EUULk5EwhM3MKqir9QUKIyUeS7Ekq\nGAzi8XgBP729IZxOHUVRbnaxhJhwgsEgn3xSTllZgLa2LDRtEYYRj2lqdHa2Egw2kJlZSX5+Avn5\ni+U8GkQoFMLr9WDbPjyeILpuxmw/nT5dw8GDl7lwIRHLmklc3FLi4gy6u7v54INGEhOPsXChxdat\nyzBNMyYxhRBiPEiSPcnU1zeyf389tbUGwWAiphmH399FcnInK1aYrF+/CF3Xb3YxhZgQGhqaeeON\narq789G0eOLirn2mKAqGkYSmLaG7G95/v5Vjxw7y6KPLSE5OunmFnkBaW9vYu7eac+dU/P5kDCMe\nn6+b+PguFi9W2Lx5EfHx8SPats/nY8eOo1RV5WAYBRhG39+vJO9Op0Fc3GxCodmcPBmgoqKE++5L\nJTc3J1bVE0KIMSVJ9iThdrt55ZUTNDfPwTAKcDgUNE3B5dJRFD8ej82+fT0UFpazaZPOpk1LRx3T\n6/VSVFRJR0eI+HgTVfWzdm0OiYmJMaiREGPr7Nl6tm9343RuQdPCL6/r6bS1beYXvzjI1742j4yM\ntLEv5AQVCAT43e+OUFU1BcNYj6KomOa19iYQsDl2zM+RI6dZudLDAw+siqpn2+v18txzR3C7N2EY\n4b8ch0PDsjbw5ptVuN0VrFu3aDTVGxfd3d0cPHgOjwcSEkwMI8iaNQukN34YlmVx6lQ11dXdGIaJ\n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\n+//DKgVY1DAxTwAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"global_punchcard = { (x, y): 0 for x in range(24) for y in range(7) }\n",
"for moved_action in moved_to_done:\n",
" parsed_date = dateutil.parser.parse(moved_action['date']).astimezone(sweden)\n",
" global_punchcard[(parsed_date.hour, parsed_date.weekday())] += 1\n",
" \n",
"x = [d[0] for d in global_punchcard.keys()]\n",
"y = [d[1] for d in global_punchcard.keys()]\n",
"s = [50 * s for s in global_punchcard.values()]\n",
"\n",
"plt.xlim(min(x)-0.5, max(x)+0.5)\n",
"plt.ylim(min(y)-0.5, max(y)+0.5)\n",
"plt.xticks(np.arange(24))\n",
"plt.yticks(np.arange(7), WEEK_DAYS)\n",
"plt.gca().invert_yaxis()\n",
"plt.scatter(x, y, s=s, alpha=0.5)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What is this card that I moved on a Friday between midnight and 1 a.m?\n",
"\n",
"Once the data is available, it becomes natural to inspect more closely and dissect the information.\n",
"\n",
"For instance, it is possible to know what cards were moved on a specific day at a specific time."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Card name: Monthly Challenge: Natural Language Processing in Python\n",
"Moved on: Friday 20. March 2015 at 00:53:14\n"
]
}
],
"source": [
"day_to_search, hour_to_search = 4, 0\n",
"moved_thursdays_at_5 = [moved_action for moved_action in moved_to_done \n",
" if dateutil.parser.parse(moved_action['date']).astimezone(sweden).weekday() == day_to_search \n",
" and dateutil.parser.parse(moved_action['date']).astimezone(sweden).hour == hour_to_search]\n",
"\n",
"print('Card name: ' + moved_thursdays_at_5[0]['data']['card']['name'])\n",
"print('Moved on: ' + dateutil.parser.parse(moved_thursdays_at_5[0]['date']).astimezone(sweden).strftime(\"%A %d. %B %Y at %X\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Export the data to a static JSON to work on a visualization\n",
"\n",
"Most of the cards only store a single link to the article.\n",
"\n",
"Given that and thanks to the [newspaper](https://github.com/codelucas/newspaper), it is possible to scrap each webpage and get the article text and the corresponding keywords.\n",
"\n",
"The idea of this section is to go over all the articles that are scrapable and compile a big chunk of words encountered."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"# inject card infos in the list\n",
"for c in moved_to_done:\n",
" c['data']['card'] = cards_indexed_by_id[c['data']['card']['id']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compile a huge list of all the words used in the articles without the stopwords (as they don't provide that much information)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import re\n",
"\n",
"from newspaper import Article\n",
"URL_REGEX = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'\n",
"\n",
"huge_text = ''\n",
"\n",
"for c in moved_to_done:\n",
" links = re.findall(URL_REGEX, c['data']['card']['desc'])\n",
" if len(links) == 0:\n",
" continue\n",
" url = links[0]\n",
" a = Article(url)\n",
" c['data']['card']['keywords'] = []\n",
" try:\n",
" a.download()\n",
" a.parse()\n",
" a.nlp()\n",
" huge_text += a.text\n",
" c['data']['card']['keywords'] = a.keywords\n",
" except:\n",
" # Some URL can't be parsed (pdf, video, image...)\n",
" print('Problem parsing article: ' + c['data']['card']['name'])\n",
"\n",
"print ('Done')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# [Optional] Save to temp file to avoid the expensive nlp analysis\n",
"\n",
"with open('data.json', 'w') as f:\n",
" export = json.dump({\n",
" 'cards_moved': moved_to_done,\n",
" 'labels': labels\n",
" }, f, indent=4)\n",
"f.close()\n",
"\n",
"from nltk.corpus import stopwords\n",
"# Most of the articles are in English and French\n",
"all_stopwords = stopwords.words('english') + stopwords.words('french')\n",
"\n",
"all_words = [w.strip().lower() for w in huge_text.split( ) if w.strip().lower() not in all_stopwords]\n",
"\n",
"with open('all.txt', 'w') as f:\n",
" f.write(' '.join(all_words))\n",
"f.close()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Reload from previous dump (shortcut to avoid the long scrap)\n",
"with open('data.json', 'r') as f:\n",
" data = json.loads(f.read())\n",
"f.close()\n",
"\n",
"with open('all.txt', 'r') as f:\n",
" all_text = f.read().split()\n",
"f.close()\n",
"\n",
"cards_moved = data['cards_moved']\n",
"keywords = [w for c in cards_moved if 'keywords' in c['data']['card'] for w in c['data']['card']['keywords']]\n",
"distinct_keywords = set(keywords)\n",
"\n",
"print('There are ' + str(len(keywords)) + ' keywords (' + str(len(distinct_keywords)) + ' distinct)')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from nltk.corpus import wordnet as wn\n",
"from nltk import pos_tag\n",
"\n",
"# Find the type of word\n",
"ref_nodes = dict(list(enumerate(keywords)))\n",
"tags = pos_tag(all_text)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Filter out nouns for a separate visualization\n",
"nouns = [t[0] for t in tags if t[1] == 'NN' and len(t[0]) >= 2]\n",
"print(str(len(tags)) + ' words in total, ' + str(len(nouns)) + ' nouns selected')\n",
"\n",
"counter_all = Counter(all_text)\n",
"counter_nouns = Counter(nouns)\n",
"\n",
"counter_all_top200 = counter_all.most_common()[:200]\n",
"counter_nouns_top200 = counter_nouns.most_common()[:200]\n",
"\n",
"min_all = min(counter_all_top200, key=lambda x: x[1])[1]\n",
"max_all = max(counter_all_top200, key=lambda x: x[1])[1]\n",
"min_nouns = min(counter_nouns_top200, key=lambda x: x[1])[1]\n",
"max_nouns = max(counter_nouns_top200, key=lambda x: x[1])[1]\n",
"\n",
"counter_all_top200 = [(x[0], (x[1] - min_all) / (max_all - min_all)) for x in counter_all_top200]\n",
"counter_nouns_top200 = [(x[0], (x[1] - min_nouns) / (max_nouns - min_nouns)) for x in counter_nouns_top200]\n",
"\n",
"with open('words.json', 'w') as f:\n",
" export = json.dump({\n",
" 'all': counter_all_top200,\n",
" 'nouns': counter_nouns_top200\n",
" }, f, indent=4)\n",
"f.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using the handy [wordcloud2.js library](https://github.com/timdream/wordcloud2.js), the words can be plotted as a **word cloud**\n",
"\n",
"### All the words\n",
"\n",
"\n",
"\n",
"It is a bit amusing because characters like *=* and *{* are the most often encountered, which makes sense if some articles embed code.\n",
"\n",
"### Only the nouns\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Conclusion\n",
"\n",
"There is many more advanced things to do from here:\n",
"\n",
"- More elaborated stats.\n",
"- Given a link, title and labels for an article, predict when I will read it.\n",
"- Cluster articles and links by similarity, as another way to visualize data.\n",
"\n",
"Those are just ideas at the present moment. I will share my next findings in a future \"Part 2\"!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}