Created
August 17, 2015 23:19
-
-
Save ICBacon/8c19be2b28370ac07c14 to your computer and use it in GitHub Desktop.
Using pandas tables to visualize PyPi package data
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
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Ordering Key Value Objects using Real Data \n", | |
| "\n", | |
| "Use [PyPi releases data for Bokeh](https://pypi.python.org/pypi/bokeh/json) create ordered keys from an unordered JSON object." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| " \n", | |
| " <link rel=\"stylesheet\" href=\"http://cdn.pydata.org/bokeh/release/bokeh-0.9.2.min.css\" type=\"text/css\" />\n", | |
| " <script type=\"text/javascript\" src=\"http://cdn.pydata.org/bokeh/release/bokeh-0.9.2.min.js\"></script>\n", | |
| " <script type=\"text/javascript\">\n", | |
| " Bokeh.set_log_level(\"info\");\n", | |
| " </script>\n", | |
| " <div>\n", | |
| " <a href=\"http://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", | |
| " <span>BokehJS successfully loaded.</span>\n", | |
| " </div>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "from bokeh.io import output_notebook\n", | |
| "from bokeh.resources import CDN\n", | |
| "from bokeh.models import BoxSelectTool, ColumnDataSource, HoverTool, OpenURL, TapTool\n", | |
| "from bokeh.plotting import figure, output_file, show, gridplot\n", | |
| "from collections import OrderedDict\n", | |
| "from functools import partial\n", | |
| "\n", | |
| "output_notebook(resources=CDN)\n", | |
| "\n", | |
| "import requests\n", | |
| "import numpy as np\n", | |
| "import pandas as pd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| ":0: FutureWarning: IPython widgets are experimental and may change in the future.\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "import os\n", | |
| "import itertools\n", | |
| "import matplotlib\n", | |
| "from datetime import datetime,date\n", | |
| "from IPython.display import HTML\n", | |
| "from IPython.html import widgets" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "package = 'scipy'" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "response = requests.get(\n", | |
| " url = 'https://pypi.python.org/pypi/%s/json' % package\n", | |
| ")\n", | |
| "data = response.json()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> The unordered objects are in their key ``releases``" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "releases = data['releases']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> The releases use [Semantic Versionsing](http://semver.org/)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "24\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'0.15.0',\n", | |
| " u'0.14.1rc1',\n", | |
| " u'0.11.0',\n", | |
| " u'0.10.1',\n", | |
| " u'0.10.0',\n", | |
| " u'0.14.1rc1.dev-52fb336',\n", | |
| " u'0.6.0',\n", | |
| " u'0.7.2',\n", | |
| " u'0.7.0',\n", | |
| " u'0.12.1',\n", | |
| " u'0.12.0',\n", | |
| " u'0.16.0',\n", | |
| " u'0.13.2',\n", | |
| " u'0.4.4',\n", | |
| " u'0.5.2',\n", | |
| " u'0.13.1',\n", | |
| " u'0.9.0',\n", | |
| " u'0.15.1',\n", | |
| " u'0.14.1',\n", | |
| " u'0.14.0',\n", | |
| " u'0.8.0',\n", | |
| " u'0.14.1rc1.dev-205726a',\n", | |
| " u'0.13.3',\n", | |
| " u'0.13.0']" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "version = releases.keys() # Extracting the dictionary keys\n", | |
| "num_releases = len(version)\n", | |
| "\n", | |
| "print(num_releases)\n", | |
| "version" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#version = sorted(version)\n", | |
| "#version" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "source": [ | |
| "> Seeing which versions have multiple releases" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(u'0.15.0', 5)\n", | |
| "(u'0.14.1rc1', 3)\n", | |
| "(u'0.11.0', 3)\n", | |
| "(u'0.10.1', 2)\n", | |
| "(u'0.10.0', 3)\n", | |
| "(u'0.14.1rc1.dev-52fb336', 3)\n", | |
| "(u'0.6.0', 'none')\n", | |
| "(u'0.7.2', 'none')\n", | |
| "(u'0.7.0', 'none')\n", | |
| "(u'0.12.1', 2)\n", | |
| "(u'0.12.0', 3)\n", | |
| "(u'0.16.0', 5)\n", | |
| "(u'0.13.2', 2)\n", | |
| "(u'0.4.4', 'none')\n", | |
| "(u'0.5.2', 'none')\n", | |
| "(u'0.13.1', 2)\n", | |
| "(u'0.9.0', 2)\n", | |
| "(u'0.15.1', 5)\n", | |
| "(u'0.14.1', 5)\n", | |
| "(u'0.14.0', 8)\n", | |
| "(u'0.8.0', 1)\n", | |
| "(u'0.14.1rc1.dev-205726a', 3)\n", | |
| "(u'0.13.3', 5)\n", | |
| "(u'0.13.0', 5)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "for i in range(0, num_releases):\n", | |
| " if len(releases[version[i]]) >= 1:\n", | |
| " print(version[i],len(releases[version[i]]))\n", | |
| " else:\n", | |
| " print(version[i],'none')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "5\n", | |
| "8\n", | |
| "11\n", | |
| "13\n", | |
| "16\n", | |
| "19\n", | |
| "19\n", | |
| "19\n", | |
| "19\n", | |
| "21\n", | |
| "24\n", | |
| "29\n", | |
| "31\n", | |
| "31\n", | |
| "31\n", | |
| "33\n", | |
| "35\n", | |
| "40\n", | |
| "45\n", | |
| "53\n", | |
| "54\n", | |
| "57\n", | |
| "62\n", | |
| "67\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(5, 18)" | |
| ] | |
| }, | |
| "execution_count": 9, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "counter = 0 # counting the number of version formats\n", | |
| "empty = 0 # counting the number of empty version formats\n", | |
| "extra = 0 # counting the number of versions with more than one format\n", | |
| "for i in range (0, num_releases):\n", | |
| " counter += len(releases[version[i]])\n", | |
| " if len(releases[version[i]]) == 0:\n", | |
| " empty += 1\n", | |
| " elif len(releases[version[i]]) > 1:\n", | |
| " extra += 1\n", | |
| " # print(len(releases[version[i]]))\n", | |
| " print(counter)\n", | |
| "empty, extra" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Accessing the information for every format of the PyPi package version\n", | |
| "\n", | |
| " ``access = formatID['itemName']``\n", | |
| " \n", | |
| " ``formatID = releases[versionID][index], where index`` $\\equiv$ ``((Total # of version formats) - 1))``\n", | |
| " \n", | |
| " ``versionID = version[idx], where idx`` $\\equiv$ ``((Total # of versions) - 1))``" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Extracting the number of downloads per version format from the JSON data and appending them to a list" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "72\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "num_downloads = []\n", | |
| "for i in range(0, num_releases):\n", | |
| " #if isinstance( version[i], list ):\n", | |
| " if (len(releases[version[i]]) == 0):\n", | |
| " num_downloads.append(0)\n", | |
| " else:\n", | |
| " for j in range(0, len(releases[version[i]])):\n", | |
| " num_downloads.append(releases[version[i]][j]['downloads']) \n", | |
| " #else:\n", | |
| " # print( version[i] )\n", | |
| "\n", | |
| "#print(num_downloads)\n", | |
| "print(len(num_downloads))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "source": [ | |
| "### Extracting the release date per version format from the JSON data and appending them to a list" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "72\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "upload_at = []\n", | |
| "for i in range(0, num_releases):\n", | |
| " if (len(releases[version[i]]) == 0):\n", | |
| " upload_at.append('N/A')\n", | |
| " else:\n", | |
| " for j in range(0, len(releases[version[i]])):\n", | |
| " datetime_object = datetime.strptime(releases[version[i]][j]['upload_time'], '%Y-%m-%dT%H:%M:%S')\n", | |
| " upload_at.append(datetime_object.date())\n", | |
| "\n", | |
| "print(len(upload_at))\n", | |
| "#upload_at" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Extracting the version formats from the JSON data and appending them to a list" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "72\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "file_ext = []\n", | |
| "for i in range(0, num_releases):\n", | |
| " if (len(releases[version[i]]) == 0):\n", | |
| " file_ext.append(None)\n", | |
| " else:\n", | |
| " for j in range(0, len(releases[version[i]])):\n", | |
| " file_name, extension = (os.path.splitext(releases[version[i]][j]['filename']))\n", | |
| " if (extension != '.gz'):\n", | |
| " file_ext.append(extension)\n", | |
| " else:\n", | |
| " file_name1, extension1 = (os.path.splitext(file_name))\n", | |
| " file_ext.append(extension1)\n", | |
| " \n", | |
| "#print(file_ext)\n", | |
| "print(len(file_ext))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Iterating over two lists in parallel to combine the lists of release dates and number of downloads per version format into a list of tuples" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "list1 = []\n", | |
| "for f,b in itertools.izip(upload_at, num_downloads):\n", | |
| " list1.append((f,b))\n", | |
| "#list1" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Iterating over two lists in parallel to combine the list of version formats with the previous list of tuples" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "list2 = []\n", | |
| "for f,b in itertools.izip(file_ext, list1):\n", | |
| " list2.append((f,b))\n", | |
| "#list2" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Creating a new list that will take into account versions that have multiple releases" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "v = []\n", | |
| "for i in range(num_releases):\n", | |
| " if (len(releases[version[i]]) >= 1):\n", | |
| " l = list(itertools.repeat(version[i], len(releases[version[i]])))\n", | |
| " v.append(l)\n", | |
| " else:\n", | |
| " v.append([version[i]])\n", | |
| "\n", | |
| "#v" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "merged = list(itertools.chain(*v))\n", | |
| "#merged" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Creating a final list that associates each version release with its release date, number of downloads, and archive format " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "list3 = []\n", | |
| "for f,b in itertools.izip(merged, list2):\n", | |
| " list3.append((f,b))\n", | |
| "#list3" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Extracting the version number for every release of the PyPi package " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def extract_version_number( version_string ):\n", | |
| " \"\"\"\n", | |
| " Remove the leading number part of an alphanumeric string that begins with a number\n", | |
| " \"\"\"\n", | |
| " version_number = ''\n", | |
| " for character in version_string:\n", | |
| " if character.isdigit():\n", | |
| " version_number += character\n", | |
| " else:\n", | |
| " break\n", | |
| " return int( version_number )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "versions = []\n", | |
| "for version in merged:\n", | |
| " try:\n", | |
| " major, minor, patch = version.split('.',2)\n", | |
| " except:\n", | |
| " patch = '0'\n", | |
| " major, minor = version.split('.',1)\n", | |
| " versions.append({\n", | |
| " 'major': extract_version_number(major),\n", | |
| " 'minor': extract_version_number(minor),\n", | |
| " 'patch': extract_version_number(patch),\n", | |
| " 'key': version\n", | |
| " })" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Create a pandas DataFrame" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>50</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>51</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>52</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>53</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>54</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>55</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>56</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>62</th>\n", | |
| " <td>0.13.3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>63</th>\n", | |
| " <td>0.13.3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>64</th>\n", | |
| " <td>0.13.3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>65</th>\n", | |
| " <td>0.13.3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>66</th>\n", | |
| " <td>0.13.3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 4 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch\n", | |
| "0 0.15.0 0 15 0\n", | |
| "1 0.15.0 0 15 0\n", | |
| "2 0.15.0 0 15 0\n", | |
| "3 0.15.0 0 15 0\n", | |
| "4 0.15.0 0 15 0\n", | |
| "5 0.14.1rc1 0 14 1\n", | |
| "6 0.14.1rc1 0 14 1\n", | |
| "7 0.14.1rc1 0 14 1\n", | |
| "8 0.11.0 0 11 0\n", | |
| "9 0.11.0 0 11 0\n", | |
| "10 0.11.0 0 11 0\n", | |
| "11 0.10.1 0 10 1\n", | |
| "12 0.10.1 0 10 1\n", | |
| "13 0.10.0 0 10 0\n", | |
| "14 0.10.0 0 10 0\n", | |
| "15 0.10.0 0 10 0\n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "19 0.6.0 0 6 0\n", | |
| "20 0.7.2 0 7 2\n", | |
| "21 0.7.0 0 7 0\n", | |
| "22 0.12.1 0 12 1\n", | |
| "23 0.12.1 0 12 1\n", | |
| "24 0.12.0 0 12 0\n", | |
| "25 0.12.0 0 12 0\n", | |
| "26 0.12.0 0 12 0\n", | |
| "27 0.16.0 0 16 0\n", | |
| "28 0.16.0 0 16 0\n", | |
| "29 0.16.0 0 16 0\n", | |
| ".. ... ... ... ...\n", | |
| "42 0.15.1 0 15 1\n", | |
| "43 0.15.1 0 15 1\n", | |
| "44 0.15.1 0 15 1\n", | |
| "45 0.14.1 0 14 1\n", | |
| "46 0.14.1 0 14 1\n", | |
| "47 0.14.1 0 14 1\n", | |
| "48 0.14.1 0 14 1\n", | |
| "49 0.14.1 0 14 1\n", | |
| "50 0.14.0 0 14 0\n", | |
| "51 0.14.0 0 14 0\n", | |
| "52 0.14.0 0 14 0\n", | |
| "53 0.14.0 0 14 0\n", | |
| "54 0.14.0 0 14 0\n", | |
| "55 0.14.0 0 14 0\n", | |
| "56 0.14.0 0 14 0\n", | |
| "57 0.14.0 0 14 0\n", | |
| "58 0.8.0 0 8 0\n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "62 0.13.3 0 13 3\n", | |
| "63 0.13.3 0 13 3\n", | |
| "64 0.13.3 0 13 3\n", | |
| "65 0.13.3 0 13 3\n", | |
| "66 0.13.3 0 13 3\n", | |
| "67 0.13.0 0 13 0\n", | |
| "68 0.13.0 0 13 0\n", | |
| "69 0.13.0 0 13 0\n", | |
| "70 0.13.0 0 13 0\n", | |
| "71 0.13.0 0 13 0\n", | |
| "\n", | |
| "[72 rows x 4 columns]" | |
| ] | |
| }, | |
| "execution_count": 20, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df = pd.DataFrame(versions)\n", | |
| "df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Sort the DataFrame based on version" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>34</th>\n", | |
| " <td>0.4.4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>35</th>\n", | |
| " <td>0.5.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>38</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>39</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>36</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>37</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>32</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>33</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>40</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>41</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>30</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>31</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 4 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch\n", | |
| "34 0.4.4 0 4 4\n", | |
| "35 0.5.2 0 5 2\n", | |
| "19 0.6.0 0 6 0\n", | |
| "21 0.7.0 0 7 0\n", | |
| "20 0.7.2 0 7 2\n", | |
| "58 0.8.0 0 8 0\n", | |
| "38 0.9.0 0 9 0\n", | |
| "39 0.9.0 0 9 0\n", | |
| "13 0.10.0 0 10 0\n", | |
| "14 0.10.0 0 10 0\n", | |
| "15 0.10.0 0 10 0\n", | |
| "11 0.10.1 0 10 1\n", | |
| "12 0.10.1 0 10 1\n", | |
| "8 0.11.0 0 11 0\n", | |
| "9 0.11.0 0 11 0\n", | |
| "10 0.11.0 0 11 0\n", | |
| "24 0.12.0 0 12 0\n", | |
| "25 0.12.0 0 12 0\n", | |
| "26 0.12.0 0 12 0\n", | |
| "22 0.12.1 0 12 1\n", | |
| "23 0.12.1 0 12 1\n", | |
| "67 0.13.0 0 13 0\n", | |
| "68 0.13.0 0 13 0\n", | |
| "69 0.13.0 0 13 0\n", | |
| "70 0.13.0 0 13 0\n", | |
| "71 0.13.0 0 13 0\n", | |
| "36 0.13.1 0 13 1\n", | |
| "37 0.13.1 0 13 1\n", | |
| "32 0.13.2 0 13 2\n", | |
| "33 0.13.2 0 13 2\n", | |
| ".. ... ... ... ...\n", | |
| "57 0.14.0 0 14 0\n", | |
| "5 0.14.1rc1 0 14 1\n", | |
| "6 0.14.1rc1 0 14 1\n", | |
| "7 0.14.1rc1 0 14 1\n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1\n", | |
| "45 0.14.1 0 14 1\n", | |
| "46 0.14.1 0 14 1\n", | |
| "47 0.14.1 0 14 1\n", | |
| "48 0.14.1 0 14 1\n", | |
| "49 0.14.1 0 14 1\n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1\n", | |
| "0 0.15.0 0 15 0\n", | |
| "1 0.15.0 0 15 0\n", | |
| "2 0.15.0 0 15 0\n", | |
| "3 0.15.0 0 15 0\n", | |
| "4 0.15.0 0 15 0\n", | |
| "40 0.15.1 0 15 1\n", | |
| "41 0.15.1 0 15 1\n", | |
| "42 0.15.1 0 15 1\n", | |
| "43 0.15.1 0 15 1\n", | |
| "44 0.15.1 0 15 1\n", | |
| "27 0.16.0 0 16 0\n", | |
| "28 0.16.0 0 16 0\n", | |
| "29 0.16.0 0 16 0\n", | |
| "30 0.16.0 0 16 0\n", | |
| "31 0.16.0 0 16 0\n", | |
| "\n", | |
| "[72 rows x 4 columns]" | |
| ] | |
| }, | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sort([ 'major','minor','patch'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Number of releases per version" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(34, '0.4.4 of scipy has 0 release(s)')\n", | |
| "(35, '0.5.2 of scipy has 0 release(s)')\n", | |
| "(19, '0.6.0 of scipy has 0 release(s)')\n", | |
| "(21, '0.7.0 of scipy has 0 release(s)')\n", | |
| "(20, '0.7.2 of scipy has 0 release(s)')\n", | |
| "(58, '0.8.0 of scipy has 1 release(s)')\n", | |
| "(38, '0.9.0 of scipy has 2 release(s)')\n", | |
| "(39, '0.9.0 of scipy has 2 release(s)')\n", | |
| "(13, '0.10.0 of scipy has 3 release(s)')\n", | |
| "(14, '0.10.0 of scipy has 3 release(s)')\n", | |
| "(15, '0.10.0 of scipy has 3 release(s)')\n", | |
| "(11, '0.10.1 of scipy has 2 release(s)')\n", | |
| "(12, '0.10.1 of scipy has 2 release(s)')\n", | |
| "(8, '0.11.0 of scipy has 3 release(s)')\n", | |
| "(9, '0.11.0 of scipy has 3 release(s)')\n", | |
| "(10, '0.11.0 of scipy has 3 release(s)')\n", | |
| "(24, '0.12.0 of scipy has 3 release(s)')\n", | |
| "(25, '0.12.0 of scipy has 3 release(s)')\n", | |
| "(26, '0.12.0 of scipy has 3 release(s)')\n", | |
| "(22, '0.12.1 of scipy has 2 release(s)')\n", | |
| "(23, '0.12.1 of scipy has 2 release(s)')\n", | |
| "(67, '0.13.0 of scipy has 5 release(s)')\n", | |
| "(68, '0.13.0 of scipy has 5 release(s)')\n", | |
| "(69, '0.13.0 of scipy has 5 release(s)')\n", | |
| "(70, '0.13.0 of scipy has 5 release(s)')\n", | |
| "(71, '0.13.0 of scipy has 5 release(s)')\n", | |
| "(36, '0.13.1 of scipy has 2 release(s)')\n", | |
| "(37, '0.13.1 of scipy has 2 release(s)')\n", | |
| "(32, '0.13.2 of scipy has 2 release(s)')\n", | |
| "(33, '0.13.2 of scipy has 2 release(s)')\n", | |
| "(62, '0.13.3 of scipy has 5 release(s)')\n", | |
| "(63, '0.13.3 of scipy has 5 release(s)')\n", | |
| "(64, '0.13.3 of scipy has 5 release(s)')\n", | |
| "(65, '0.13.3 of scipy has 5 release(s)')\n", | |
| "(66, '0.13.3 of scipy has 5 release(s)')\n", | |
| "(50, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(51, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(52, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(53, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(54, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(55, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(56, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(57, '0.14.0 of scipy has 8 release(s)')\n", | |
| "(5, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
| "(6, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
| "(7, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
| "(16, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
| "(17, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
| "(18, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
| "(45, '0.14.1 of scipy has 5 release(s)')\n", | |
| "(46, '0.14.1 of scipy has 5 release(s)')\n", | |
| "(47, '0.14.1 of scipy has 5 release(s)')\n", | |
| "(48, '0.14.1 of scipy has 5 release(s)')\n", | |
| "(49, '0.14.1 of scipy has 5 release(s)')\n", | |
| "(59, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
| "(60, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
| "(61, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
| "(0, '0.15.0 of scipy has 5 release(s)')\n", | |
| "(1, '0.15.0 of scipy has 5 release(s)')\n", | |
| "(2, '0.15.0 of scipy has 5 release(s)')\n", | |
| "(3, '0.15.0 of scipy has 5 release(s)')\n", | |
| "(4, '0.15.0 of scipy has 5 release(s)')\n", | |
| "(40, '0.15.1 of scipy has 5 release(s)')\n", | |
| "(41, '0.15.1 of scipy has 5 release(s)')\n", | |
| "(42, '0.15.1 of scipy has 5 release(s)')\n", | |
| "(43, '0.15.1 of scipy has 5 release(s)')\n", | |
| "(44, '0.15.1 of scipy has 5 release(s)')\n", | |
| "(27, '0.16.0 of scipy has 5 release(s)')\n", | |
| "(28, '0.16.0 of scipy has 5 release(s)')\n", | |
| "(29, '0.16.0 of scipy has 5 release(s)')\n", | |
| "(30, '0.16.0 of scipy has 5 release(s)')\n", | |
| "(31, '0.16.0 of scipy has 5 release(s)')\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df['number_of_releases'] = None\n", | |
| "for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
| " print(index,\n", | |
| " '{version} of {package} has {numRelease} release(s)'.format(\n", | |
| " version = sortedVersion['key'],\n", | |
| " package = package,\n", | |
| " numRelease = len(releases[sortedVersion['key']])\n", | |
| " )\n", | |
| " )\n", | |
| " df.loc[index,'number_of_releases' ] = len(releases[sortedVersion['key']])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " <th>number_of_releases</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>34</th>\n", | |
| " <td>0.4.4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>35</th>\n", | |
| " <td>0.5.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>38</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>39</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>36</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>37</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>32</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>33</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>40</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>41</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>30</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>31</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 5 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch number_of_releases\n", | |
| "34 0.4.4 0 4 4 0\n", | |
| "35 0.5.2 0 5 2 0\n", | |
| "19 0.6.0 0 6 0 0\n", | |
| "21 0.7.0 0 7 0 0\n", | |
| "20 0.7.2 0 7 2 0\n", | |
| "58 0.8.0 0 8 0 1\n", | |
| "38 0.9.0 0 9 0 2\n", | |
| "39 0.9.0 0 9 0 2\n", | |
| "13 0.10.0 0 10 0 3\n", | |
| "14 0.10.0 0 10 0 3\n", | |
| "15 0.10.0 0 10 0 3\n", | |
| "11 0.10.1 0 10 1 2\n", | |
| "12 0.10.1 0 10 1 2\n", | |
| "8 0.11.0 0 11 0 3\n", | |
| "9 0.11.0 0 11 0 3\n", | |
| "10 0.11.0 0 11 0 3\n", | |
| "24 0.12.0 0 12 0 3\n", | |
| "25 0.12.0 0 12 0 3\n", | |
| "26 0.12.0 0 12 0 3\n", | |
| "22 0.12.1 0 12 1 2\n", | |
| "23 0.12.1 0 12 1 2\n", | |
| "67 0.13.0 0 13 0 5\n", | |
| "68 0.13.0 0 13 0 5\n", | |
| "69 0.13.0 0 13 0 5\n", | |
| "70 0.13.0 0 13 0 5\n", | |
| "71 0.13.0 0 13 0 5\n", | |
| "36 0.13.1 0 13 1 2\n", | |
| "37 0.13.1 0 13 1 2\n", | |
| "32 0.13.2 0 13 2 2\n", | |
| "33 0.13.2 0 13 2 2\n", | |
| ".. ... ... ... ... ...\n", | |
| "57 0.14.0 0 14 0 8\n", | |
| "5 0.14.1rc1 0 14 1 3\n", | |
| "6 0.14.1rc1 0 14 1 3\n", | |
| "7 0.14.1rc1 0 14 1 3\n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
| "45 0.14.1 0 14 1 5\n", | |
| "46 0.14.1 0 14 1 5\n", | |
| "47 0.14.1 0 14 1 5\n", | |
| "48 0.14.1 0 14 1 5\n", | |
| "49 0.14.1 0 14 1 5\n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
| "0 0.15.0 0 15 0 5\n", | |
| "1 0.15.0 0 15 0 5\n", | |
| "2 0.15.0 0 15 0 5\n", | |
| "3 0.15.0 0 15 0 5\n", | |
| "4 0.15.0 0 15 0 5\n", | |
| "40 0.15.1 0 15 1 5\n", | |
| "41 0.15.1 0 15 1 5\n", | |
| "42 0.15.1 0 15 1 5\n", | |
| "43 0.15.1 0 15 1 5\n", | |
| "44 0.15.1 0 15 1 5\n", | |
| "27 0.16.0 0 16 0 5\n", | |
| "28 0.16.0 0 16 0 5\n", | |
| "29 0.16.0 0 16 0 5\n", | |
| "30 0.16.0 0 16 0 5\n", | |
| "31 0.16.0 0 16 0 5\n", | |
| "\n", | |
| "[72 rows x 5 columns]" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sort( ['major','minor','patch'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Type of release per version" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 24, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(34, '0.4.4 of scipy released a None format')\n", | |
| "(35, '0.5.2 of scipy released a None format')\n", | |
| "(19, '0.6.0 of scipy released a None format')\n", | |
| "(21, '0.7.0 of scipy released a None format')\n", | |
| "(20, '0.7.2 of scipy released a None format')\n", | |
| "(58, '0.8.0 of scipy released a .tar format')\n", | |
| "(38, '0.9.0 of scipy released a .tar format')\n", | |
| "(39, '0.9.0 of scipy released a .zip format')\n", | |
| "(13, '0.10.0 of scipy released a .whl format')\n", | |
| "(14, '0.10.0 of scipy released a .tar format')\n", | |
| "(15, '0.10.0 of scipy released a .zip format')\n", | |
| "(11, '0.10.1 of scipy released a .tar format')\n", | |
| "(12, '0.10.1 of scipy released a .zip format')\n", | |
| "(8, '0.11.0 of scipy released a .whl format')\n", | |
| "(9, '0.11.0 of scipy released a .tar format')\n", | |
| "(10, '0.11.0 of scipy released a .zip format')\n", | |
| "(24, '0.12.0 of scipy released a .whl format')\n", | |
| "(25, '0.12.0 of scipy released a .tar format')\n", | |
| "(26, '0.12.0 of scipy released a .zip format')\n", | |
| "(22, '0.12.1 of scipy released a .tar format')\n", | |
| "(23, '0.12.1 of scipy released a .zip format')\n", | |
| "(67, '0.13.0 of scipy released a .whl format')\n", | |
| "(68, '0.13.0 of scipy released a .whl format')\n", | |
| "(69, '0.13.0 of scipy released a .whl format')\n", | |
| "(70, '0.13.0 of scipy released a .tar format')\n", | |
| "(71, '0.13.0 of scipy released a .zip format')\n", | |
| "(36, '0.13.1 of scipy released a .tar format')\n", | |
| "(37, '0.13.1 of scipy released a .zip format')\n", | |
| "(32, '0.13.2 of scipy released a .tar format')\n", | |
| "(33, '0.13.2 of scipy released a .zip format')\n", | |
| "(62, '0.13.3 of scipy released a .whl format')\n", | |
| "(63, '0.13.3 of scipy released a .whl format')\n", | |
| "(64, '0.13.3 of scipy released a .whl format')\n", | |
| "(65, '0.13.3 of scipy released a .tar format')\n", | |
| "(66, '0.13.3 of scipy released a .zip format')\n", | |
| "(50, '0.14.0 of scipy released a .whl format')\n", | |
| "(51, '0.14.0 of scipy released a .whl format')\n", | |
| "(52, '0.14.0 of scipy released a .whl format')\n", | |
| "(53, '0.14.0 of scipy released a .whl format')\n", | |
| "(54, '0.14.0 of scipy released a .whl format')\n", | |
| "(55, '0.14.0 of scipy released a .whl format')\n", | |
| "(56, '0.14.0 of scipy released a .tar format')\n", | |
| "(57, '0.14.0 of scipy released a .zip format')\n", | |
| "(5, '0.14.1rc1 of scipy released a .whl format')\n", | |
| "(6, '0.14.1rc1 of scipy released a .whl format')\n", | |
| "(7, '0.14.1rc1 of scipy released a .whl format')\n", | |
| "(16, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
| "(17, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
| "(18, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
| "(45, '0.14.1 of scipy released a .whl format')\n", | |
| "(46, '0.14.1 of scipy released a .whl format')\n", | |
| "(47, '0.14.1 of scipy released a .whl format')\n", | |
| "(48, '0.14.1 of scipy released a .tar format')\n", | |
| "(49, '0.14.1 of scipy released a .zip format')\n", | |
| "(59, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
| "(60, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
| "(61, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
| "(0, '0.15.0 of scipy released a .whl format')\n", | |
| "(1, '0.15.0 of scipy released a .whl format')\n", | |
| "(2, '0.15.0 of scipy released a .whl format')\n", | |
| "(3, '0.15.0 of scipy released a .tar format')\n", | |
| "(4, '0.15.0 of scipy released a .zip format')\n", | |
| "(40, '0.15.1 of scipy released a .whl format')\n", | |
| "(41, '0.15.1 of scipy released a .whl format')\n", | |
| "(42, '0.15.1 of scipy released a .whl format')\n", | |
| "(43, '0.15.1 of scipy released a .tar format')\n", | |
| "(44, '0.15.1 of scipy released a .zip format')\n", | |
| "(27, '0.16.0 of scipy released a .whl format')\n", | |
| "(28, '0.16.0 of scipy released a .whl format')\n", | |
| "(29, '0.16.0 of scipy released a .whl format')\n", | |
| "(30, '0.16.0 of scipy released a .tar format')\n", | |
| "(31, '0.16.0 of scipy released a .zip format')\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df['type_of_release'] = None\n", | |
| "for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
| " print(index,\n", | |
| " '{version} of {package} released a {releaseType} format'.format(\n", | |
| " version = sortedVersion['key'],\n", | |
| " package = package,\n", | |
| " releaseType = file_ext[index]\n", | |
| " )\n", | |
| " )\n", | |
| " df.loc[index,'type_of_release' ] = file_ext[index]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " <th>number_of_releases</th>\n", | |
| " <th>type_of_release</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>34</th>\n", | |
| " <td>0.4.4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>35</th>\n", | |
| " <td>0.5.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>38</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>39</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>36</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>37</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>32</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>33</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>40</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>41</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>30</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>31</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 6 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch number_of_releases \\\n", | |
| "34 0.4.4 0 4 4 0 \n", | |
| "35 0.5.2 0 5 2 0 \n", | |
| "19 0.6.0 0 6 0 0 \n", | |
| "21 0.7.0 0 7 0 0 \n", | |
| "20 0.7.2 0 7 2 0 \n", | |
| "58 0.8.0 0 8 0 1 \n", | |
| "38 0.9.0 0 9 0 2 \n", | |
| "39 0.9.0 0 9 0 2 \n", | |
| "13 0.10.0 0 10 0 3 \n", | |
| "14 0.10.0 0 10 0 3 \n", | |
| "15 0.10.0 0 10 0 3 \n", | |
| "11 0.10.1 0 10 1 2 \n", | |
| "12 0.10.1 0 10 1 2 \n", | |
| "8 0.11.0 0 11 0 3 \n", | |
| "9 0.11.0 0 11 0 3 \n", | |
| "10 0.11.0 0 11 0 3 \n", | |
| "24 0.12.0 0 12 0 3 \n", | |
| "25 0.12.0 0 12 0 3 \n", | |
| "26 0.12.0 0 12 0 3 \n", | |
| "22 0.12.1 0 12 1 2 \n", | |
| "23 0.12.1 0 12 1 2 \n", | |
| "67 0.13.0 0 13 0 5 \n", | |
| "68 0.13.0 0 13 0 5 \n", | |
| "69 0.13.0 0 13 0 5 \n", | |
| "70 0.13.0 0 13 0 5 \n", | |
| "71 0.13.0 0 13 0 5 \n", | |
| "36 0.13.1 0 13 1 2 \n", | |
| "37 0.13.1 0 13 1 2 \n", | |
| "32 0.13.2 0 13 2 2 \n", | |
| "33 0.13.2 0 13 2 2 \n", | |
| ".. ... ... ... ... ... \n", | |
| "57 0.14.0 0 14 0 8 \n", | |
| "5 0.14.1rc1 0 14 1 3 \n", | |
| "6 0.14.1rc1 0 14 1 3 \n", | |
| "7 0.14.1rc1 0 14 1 3 \n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "45 0.14.1 0 14 1 5 \n", | |
| "46 0.14.1 0 14 1 5 \n", | |
| "47 0.14.1 0 14 1 5 \n", | |
| "48 0.14.1 0 14 1 5 \n", | |
| "49 0.14.1 0 14 1 5 \n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "0 0.15.0 0 15 0 5 \n", | |
| "1 0.15.0 0 15 0 5 \n", | |
| "2 0.15.0 0 15 0 5 \n", | |
| "3 0.15.0 0 15 0 5 \n", | |
| "4 0.15.0 0 15 0 5 \n", | |
| "40 0.15.1 0 15 1 5 \n", | |
| "41 0.15.1 0 15 1 5 \n", | |
| "42 0.15.1 0 15 1 5 \n", | |
| "43 0.15.1 0 15 1 5 \n", | |
| "44 0.15.1 0 15 1 5 \n", | |
| "27 0.16.0 0 16 0 5 \n", | |
| "28 0.16.0 0 16 0 5 \n", | |
| "29 0.16.0 0 16 0 5 \n", | |
| "30 0.16.0 0 16 0 5 \n", | |
| "31 0.16.0 0 16 0 5 \n", | |
| "\n", | |
| " type_of_release \n", | |
| "34 None \n", | |
| "35 None \n", | |
| "19 None \n", | |
| "21 None \n", | |
| "20 None \n", | |
| "58 .tar \n", | |
| "38 .tar \n", | |
| "39 .zip \n", | |
| "13 .whl \n", | |
| "14 .tar \n", | |
| "15 .zip \n", | |
| "11 .tar \n", | |
| "12 .zip \n", | |
| "8 .whl \n", | |
| "9 .tar \n", | |
| "10 .zip \n", | |
| "24 .whl \n", | |
| "25 .tar \n", | |
| "26 .zip \n", | |
| "22 .tar \n", | |
| "23 .zip \n", | |
| "67 .whl \n", | |
| "68 .whl \n", | |
| "69 .whl \n", | |
| "70 .tar \n", | |
| "71 .zip \n", | |
| "36 .tar \n", | |
| "37 .zip \n", | |
| "32 .tar \n", | |
| "33 .zip \n", | |
| ".. ... \n", | |
| "57 .zip \n", | |
| "5 .whl \n", | |
| "6 .whl \n", | |
| "7 .whl \n", | |
| "16 .whl \n", | |
| "17 .whl \n", | |
| "18 .whl \n", | |
| "45 .whl \n", | |
| "46 .whl \n", | |
| "47 .whl \n", | |
| "48 .tar \n", | |
| "49 .zip \n", | |
| "59 .whl \n", | |
| "60 .whl \n", | |
| "61 .whl \n", | |
| "0 .whl \n", | |
| "1 .whl \n", | |
| "2 .whl \n", | |
| "3 .tar \n", | |
| "4 .zip \n", | |
| "40 .whl \n", | |
| "41 .whl \n", | |
| "42 .whl \n", | |
| "43 .tar \n", | |
| "44 .zip \n", | |
| "27 .whl \n", | |
| "28 .whl \n", | |
| "29 .whl \n", | |
| "30 .tar \n", | |
| "31 .zip \n", | |
| "\n", | |
| "[72 rows x 6 columns]" | |
| ] | |
| }, | |
| "execution_count": 25, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sort( ['major','minor','patch'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Time of release per version format" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(34, '0.4.4 of scipy was released on N/A')\n", | |
| "(35, '0.5.2 of scipy was released on N/A')\n", | |
| "(19, '0.6.0 of scipy was released on N/A')\n", | |
| "(21, '0.7.0 of scipy was released on N/A')\n", | |
| "(20, '0.7.2 of scipy was released on N/A')\n", | |
| "(58, '0.8.0 of scipy was released on 2010-07-27')\n", | |
| "(38, '0.9.0 of scipy was released on 2011-02-28')\n", | |
| "(39, '0.9.0 of scipy was released on 2011-02-28')\n", | |
| "(13, '0.10.0 of scipy was released on 2014-07-31')\n", | |
| "(14, '0.10.0 of scipy was released on 2011-11-13')\n", | |
| "(15, '0.10.0 of scipy was released on 2011-11-13')\n", | |
| "(11, '0.10.1 of scipy was released on 2012-02-28')\n", | |
| "(12, '0.10.1 of scipy was released on 2012-02-28')\n", | |
| "(8, '0.11.0 of scipy was released on 2014-07-31')\n", | |
| "(9, '0.11.0 of scipy was released on 2012-09-29')\n", | |
| "(10, '0.11.0 of scipy was released on 2012-09-29')\n", | |
| "(24, '0.12.0 of scipy was released on 2014-07-31')\n", | |
| "(25, '0.12.0 of scipy was released on 2013-04-09')\n", | |
| "(26, '0.12.0 of scipy was released on 2013-04-09')\n", | |
| "(22, '0.12.1 of scipy was released on 2013-10-12')\n", | |
| "(23, '0.12.1 of scipy was released on 2013-10-12')\n", | |
| "(67, '0.13.0 of scipy was released on 2014-07-31')\n", | |
| "(68, '0.13.0 of scipy was released on 2014-07-31')\n", | |
| "(69, '0.13.0 of scipy was released on 2014-07-31')\n", | |
| "(70, '0.13.0 of scipy was released on 2013-10-19')\n", | |
| "(71, '0.13.0 of scipy was released on 2013-10-19')\n", | |
| "(36, '0.13.1 of scipy was released on 2013-11-17')\n", | |
| "(37, '0.13.1 of scipy was released on 2013-11-17')\n", | |
| "(32, '0.13.2 of scipy was released on 2013-12-08')\n", | |
| "(33, '0.13.2 of scipy was released on 2013-12-08')\n", | |
| "(62, '0.13.3 of scipy was released on 2014-04-29')\n", | |
| "(63, '0.13.3 of scipy was released on 2014-04-29')\n", | |
| "(64, '0.13.3 of scipy was released on 2014-04-29')\n", | |
| "(65, '0.13.3 of scipy was released on 2014-02-04')\n", | |
| "(66, '0.13.3 of scipy was released on 2014-02-04')\n", | |
| "(50, '0.14.0 of scipy was released on 2014-11-03')\n", | |
| "(51, '0.14.0 of scipy was released on 2014-06-28')\n", | |
| "(52, '0.14.0 of scipy was released on 2014-11-03')\n", | |
| "(53, '0.14.0 of scipy was released on 2014-06-28')\n", | |
| "(54, '0.14.0 of scipy was released on 2014-11-03')\n", | |
| "(55, '0.14.0 of scipy was released on 2014-06-28')\n", | |
| "(56, '0.14.0 of scipy was released on 2014-05-03')\n", | |
| "(57, '0.14.0 of scipy was released on 2014-05-03')\n", | |
| "(5, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
| "(6, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
| "(7, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
| "(16, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
| "(17, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
| "(18, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
| "(45, '0.14.1 of scipy was released on 2014-12-30')\n", | |
| "(46, '0.14.1 of scipy was released on 2014-12-30')\n", | |
| "(47, '0.14.1 of scipy was released on 2014-12-30')\n", | |
| "(48, '0.14.1 of scipy was released on 2014-12-30')\n", | |
| "(49, '0.14.1 of scipy was released on 2014-12-30')\n", | |
| "(59, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
| "(60, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
| "(61, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
| "(0, '0.15.0 of scipy was released on 2015-01-11')\n", | |
| "(1, '0.15.0 of scipy was released on 2015-01-11')\n", | |
| "(2, '0.15.0 of scipy was released on 2015-01-11')\n", | |
| "(3, '0.15.0 of scipy was released on 2015-01-11')\n", | |
| "(4, '0.15.0 of scipy was released on 2015-01-11')\n", | |
| "(40, '0.15.1 of scipy was released on 2015-01-18')\n", | |
| "(41, '0.15.1 of scipy was released on 2015-01-18')\n", | |
| "(42, '0.15.1 of scipy was released on 2015-01-18')\n", | |
| "(43, '0.15.1 of scipy was released on 2015-01-18')\n", | |
| "(44, '0.15.1 of scipy was released on 2015-01-18')\n", | |
| "(27, '0.16.0 of scipy was released on 2015-07-24')\n", | |
| "(28, '0.16.0 of scipy was released on 2015-07-24')\n", | |
| "(29, '0.16.0 of scipy was released on 2015-07-24')\n", | |
| "(30, '0.16.0 of scipy was released on 2015-07-24')\n", | |
| "(31, '0.16.0 of scipy was released on 2015-07-24')\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df['uploaded_on'] = None\n", | |
| "for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
| " print(index,\n", | |
| " '{version} of {package} was released on {uploadTime}'.format(\n", | |
| " version = sortedVersion['key'],\n", | |
| " package = package,\n", | |
| " uploadTime = upload_at[index]\n", | |
| " )\n", | |
| " )\n", | |
| " df.loc[index,'uploaded_on' ] = upload_at[index]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " <th>number_of_releases</th>\n", | |
| " <th>type_of_release</th>\n", | |
| " <th>uploaded_on</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>34</th>\n", | |
| " <td>0.4.4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>35</th>\n", | |
| " <td>0.5.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2010-07-27</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>38</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2011-02-28</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>39</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2011-02-28</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2011-11-13</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2011-11-13</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2012-02-28</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2012-02-28</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2012-09-29</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2012-09-29</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-04-09</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-04-09</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-10-12</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-10-12</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-10-19</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-10-19</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>36</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-11-17</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>37</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-11-17</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>32</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-12-08</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>33</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-12-08</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2014-05-03</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>40</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>41</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>30</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>31</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 7 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch number_of_releases \\\n", | |
| "34 0.4.4 0 4 4 0 \n", | |
| "35 0.5.2 0 5 2 0 \n", | |
| "19 0.6.0 0 6 0 0 \n", | |
| "21 0.7.0 0 7 0 0 \n", | |
| "20 0.7.2 0 7 2 0 \n", | |
| "58 0.8.0 0 8 0 1 \n", | |
| "38 0.9.0 0 9 0 2 \n", | |
| "39 0.9.0 0 9 0 2 \n", | |
| "13 0.10.0 0 10 0 3 \n", | |
| "14 0.10.0 0 10 0 3 \n", | |
| "15 0.10.0 0 10 0 3 \n", | |
| "11 0.10.1 0 10 1 2 \n", | |
| "12 0.10.1 0 10 1 2 \n", | |
| "8 0.11.0 0 11 0 3 \n", | |
| "9 0.11.0 0 11 0 3 \n", | |
| "10 0.11.0 0 11 0 3 \n", | |
| "24 0.12.0 0 12 0 3 \n", | |
| "25 0.12.0 0 12 0 3 \n", | |
| "26 0.12.0 0 12 0 3 \n", | |
| "22 0.12.1 0 12 1 2 \n", | |
| "23 0.12.1 0 12 1 2 \n", | |
| "67 0.13.0 0 13 0 5 \n", | |
| "68 0.13.0 0 13 0 5 \n", | |
| "69 0.13.0 0 13 0 5 \n", | |
| "70 0.13.0 0 13 0 5 \n", | |
| "71 0.13.0 0 13 0 5 \n", | |
| "36 0.13.1 0 13 1 2 \n", | |
| "37 0.13.1 0 13 1 2 \n", | |
| "32 0.13.2 0 13 2 2 \n", | |
| "33 0.13.2 0 13 2 2 \n", | |
| ".. ... ... ... ... ... \n", | |
| "57 0.14.0 0 14 0 8 \n", | |
| "5 0.14.1rc1 0 14 1 3 \n", | |
| "6 0.14.1rc1 0 14 1 3 \n", | |
| "7 0.14.1rc1 0 14 1 3 \n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "45 0.14.1 0 14 1 5 \n", | |
| "46 0.14.1 0 14 1 5 \n", | |
| "47 0.14.1 0 14 1 5 \n", | |
| "48 0.14.1 0 14 1 5 \n", | |
| "49 0.14.1 0 14 1 5 \n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "0 0.15.0 0 15 0 5 \n", | |
| "1 0.15.0 0 15 0 5 \n", | |
| "2 0.15.0 0 15 0 5 \n", | |
| "3 0.15.0 0 15 0 5 \n", | |
| "4 0.15.0 0 15 0 5 \n", | |
| "40 0.15.1 0 15 1 5 \n", | |
| "41 0.15.1 0 15 1 5 \n", | |
| "42 0.15.1 0 15 1 5 \n", | |
| "43 0.15.1 0 15 1 5 \n", | |
| "44 0.15.1 0 15 1 5 \n", | |
| "27 0.16.0 0 16 0 5 \n", | |
| "28 0.16.0 0 16 0 5 \n", | |
| "29 0.16.0 0 16 0 5 \n", | |
| "30 0.16.0 0 16 0 5 \n", | |
| "31 0.16.0 0 16 0 5 \n", | |
| "\n", | |
| " type_of_release uploaded_on \n", | |
| "34 None N/A \n", | |
| "35 None N/A \n", | |
| "19 None N/A \n", | |
| "21 None N/A \n", | |
| "20 None N/A \n", | |
| "58 .tar 2010-07-27 \n", | |
| "38 .tar 2011-02-28 \n", | |
| "39 .zip 2011-02-28 \n", | |
| "13 .whl 2014-07-31 \n", | |
| "14 .tar 2011-11-13 \n", | |
| "15 .zip 2011-11-13 \n", | |
| "11 .tar 2012-02-28 \n", | |
| "12 .zip 2012-02-28 \n", | |
| "8 .whl 2014-07-31 \n", | |
| "9 .tar 2012-09-29 \n", | |
| "10 .zip 2012-09-29 \n", | |
| "24 .whl 2014-07-31 \n", | |
| "25 .tar 2013-04-09 \n", | |
| "26 .zip 2013-04-09 \n", | |
| "22 .tar 2013-10-12 \n", | |
| "23 .zip 2013-10-12 \n", | |
| "67 .whl 2014-07-31 \n", | |
| "68 .whl 2014-07-31 \n", | |
| "69 .whl 2014-07-31 \n", | |
| "70 .tar 2013-10-19 \n", | |
| "71 .zip 2013-10-19 \n", | |
| "36 .tar 2013-11-17 \n", | |
| "37 .zip 2013-11-17 \n", | |
| "32 .tar 2013-12-08 \n", | |
| "33 .zip 2013-12-08 \n", | |
| ".. ... ... \n", | |
| "57 .zip 2014-05-03 \n", | |
| "5 .whl 2014-12-30 \n", | |
| "6 .whl 2014-12-30 \n", | |
| "7 .whl 2014-12-30 \n", | |
| "16 .whl 2014-12-30 \n", | |
| "17 .whl 2014-12-30 \n", | |
| "18 .whl 2014-12-30 \n", | |
| "45 .whl 2014-12-30 \n", | |
| "46 .whl 2014-12-30 \n", | |
| "47 .whl 2014-12-30 \n", | |
| "48 .tar 2014-12-30 \n", | |
| "49 .zip 2014-12-30 \n", | |
| "59 .whl 2014-12-30 \n", | |
| "60 .whl 2014-12-30 \n", | |
| "61 .whl 2014-12-30 \n", | |
| "0 .whl 2015-01-11 \n", | |
| "1 .whl 2015-01-11 \n", | |
| "2 .whl 2015-01-11 \n", | |
| "3 .tar 2015-01-11 \n", | |
| "4 .zip 2015-01-11 \n", | |
| "40 .whl 2015-01-18 \n", | |
| "41 .whl 2015-01-18 \n", | |
| "42 .whl 2015-01-18 \n", | |
| "43 .tar 2015-01-18 \n", | |
| "44 .zip 2015-01-18 \n", | |
| "27 .whl 2015-07-24 \n", | |
| "28 .whl 2015-07-24 \n", | |
| "29 .whl 2015-07-24 \n", | |
| "30 .tar 2015-07-24 \n", | |
| "31 .zip 2015-07-24 \n", | |
| "\n", | |
| "[72 rows x 7 columns]" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sort( ['major','minor','patch'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "> Number of downloads per version format" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(34, '0.4.4 of scipy has 0 downloads')\n", | |
| "(35, '0.5.2 of scipy has 0 downloads')\n", | |
| "(19, '0.6.0 of scipy has 0 downloads')\n", | |
| "(21, '0.7.0 of scipy has 0 downloads')\n", | |
| "(20, '0.7.2 of scipy has 0 downloads')\n", | |
| "(58, '0.8.0 of scipy has 56945 downloads')\n", | |
| "(38, '0.9.0 of scipy has 13242 downloads')\n", | |
| "(39, '0.9.0 of scipy has 32703 downloads')\n", | |
| "(13, '0.10.0 of scipy has 968 downloads')\n", | |
| "(14, '0.10.0 of scipy has 13114 downloads')\n", | |
| "(15, '0.10.0 of scipy has 17207 downloads')\n", | |
| "(11, '0.10.1 of scipy has 33823 downloads')\n", | |
| "(12, '0.10.1 of scipy has 63332 downloads')\n", | |
| "(8, '0.11.0 of scipy has 1431 downloads')\n", | |
| "(9, '0.11.0 of scipy has 320750 downloads')\n", | |
| "(10, '0.11.0 of scipy has 94598 downloads')\n", | |
| "(24, '0.12.0 of scipy has 5554 downloads')\n", | |
| "(25, '0.12.0 of scipy has 93602 downloads')\n", | |
| "(26, '0.12.0 of scipy has 113455 downloads')\n", | |
| "(22, '0.12.1 of scipy has 10513 downloads')\n", | |
| "(23, '0.12.1 of scipy has 3246 downloads')\n", | |
| "(67, '0.13.0 of scipy has 1159 downloads')\n", | |
| "(68, '0.13.0 of scipy has 946 downloads')\n", | |
| "(69, '0.13.0 of scipy has 959 downloads')\n", | |
| "(70, '0.13.0 of scipy has 48604 downloads')\n", | |
| "(71, '0.13.0 of scipy has 8386 downloads')\n", | |
| "(36, '0.13.1 of scipy has 26768 downloads')\n", | |
| "(37, '0.13.1 of scipy has 5852 downloads')\n", | |
| "(32, '0.13.2 of scipy has 74236 downloads')\n", | |
| "(33, '0.13.2 of scipy has 64609 downloads')\n", | |
| "(62, '0.13.3 of scipy has 1767 downloads')\n", | |
| "(63, '0.13.3 of scipy has 1215 downloads')\n", | |
| "(64, '0.13.3 of scipy has 1297 downloads')\n", | |
| "(65, '0.13.3 of scipy has 157426 downloads')\n", | |
| "(66, '0.13.3 of scipy has 25931 downloads')\n", | |
| "(50, '0.14.0 of scipy has 18014 downloads')\n", | |
| "(51, '0.14.0 of scipy has 27740 downloads')\n", | |
| "(52, '0.14.0 of scipy has 992 downloads')\n", | |
| "(53, '0.14.0 of scipy has 1773 downloads')\n", | |
| "(54, '0.14.0 of scipy has 3556 downloads')\n", | |
| "(55, '0.14.0 of scipy has 6158 downloads')\n", | |
| "(56, '0.14.0 of scipy has 536728 downloads')\n", | |
| "(57, '0.14.0 of scipy has 68592 downloads')\n", | |
| "(5, '0.14.1rc1 of scipy has 664 downloads')\n", | |
| "(6, '0.14.1rc1 of scipy has 662 downloads')\n", | |
| "(7, '0.14.1rc1 of scipy has 665 downloads')\n", | |
| "(16, '0.14.1rc1.dev-52fb336 of scipy has 823 downloads')\n", | |
| "(17, '0.14.1rc1.dev-52fb336 of scipy has 687 downloads')\n", | |
| "(18, '0.14.1rc1.dev-52fb336 of scipy has 753 downloads')\n", | |
| "(45, '0.14.1 of scipy has 4681 downloads')\n", | |
| "(46, '0.14.1 of scipy has 743 downloads')\n", | |
| "(47, '0.14.1 of scipy has 1419 downloads')\n", | |
| "(48, '0.14.1 of scipy has 41891 downloads')\n", | |
| "(49, '0.14.1 of scipy has 13304 downloads')\n", | |
| "(59, '0.14.1rc1.dev-205726a of scipy has 656 downloads')\n", | |
| "(60, '0.14.1rc1.dev-205726a of scipy has 648 downloads')\n", | |
| "(61, '0.14.1rc1.dev-205726a of scipy has 649 downloads')\n", | |
| "(0, '0.15.0 of scipy has 3645 downloads')\n", | |
| "(1, '0.15.0 of scipy has 733 downloads')\n", | |
| "(2, '0.15.0 of scipy has 1146 downloads')\n", | |
| "(3, '0.15.0 of scipy has 39965 downloads')\n", | |
| "(4, '0.15.0 of scipy has 4435 downloads')\n", | |
| "(40, '0.15.1 of scipy has 70390 downloads')\n", | |
| "(41, '0.15.1 of scipy has 5422 downloads')\n", | |
| "(42, '0.15.1 of scipy has 19935 downloads')\n", | |
| "(43, '0.15.1 of scipy has 506741 downloads')\n", | |
| "(44, '0.15.1 of scipy has 67128 downloads')\n", | |
| "(27, '0.16.0 of scipy has 15238 downloads')\n", | |
| "(28, '0.16.0 of scipy has 340 downloads')\n", | |
| "(29, '0.16.0 of scipy has 7977 downloads')\n", | |
| "(30, '0.16.0 of scipy has 81593 downloads')\n", | |
| "(31, '0.16.0 of scipy has 20372 downloads')\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df['number_of_downloads'] = None\n", | |
| "for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
| " print(index,\n", | |
| " '{version} of {package} has {numDownloads} downloads'.format(\n", | |
| " version = sortedVersion['key'],\n", | |
| " package = package,\n", | |
| " numDownloads = num_downloads[index]\n", | |
| " )\n", | |
| " )\n", | |
| " df.loc[index,'number_of_downloads' ] = num_downloads[index]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>key</th>\n", | |
| " <th>major</th>\n", | |
| " <th>minor</th>\n", | |
| " <th>patch</th>\n", | |
| " <th>number_of_releases</th>\n", | |
| " <th>type_of_release</th>\n", | |
| " <th>uploaded_on</th>\n", | |
| " <th>number_of_downloads</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>34</th>\n", | |
| " <td>0.4.4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>35</th>\n", | |
| " <td>0.5.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>0.6.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>0.7.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>0.7.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>7</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>None</td>\n", | |
| " <td>N/A</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>58</th>\n", | |
| " <td>0.8.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2010-07-27</td>\n", | |
| " <td>56945</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>38</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2011-02-28</td>\n", | |
| " <td>13242</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>39</th>\n", | |
| " <td>0.9.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>9</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2011-02-28</td>\n", | |
| " <td>32703</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>968</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2011-11-13</td>\n", | |
| " <td>13114</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>0.10.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2011-11-13</td>\n", | |
| " <td>17207</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2012-02-28</td>\n", | |
| " <td>33823</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>0.10.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>10</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2012-02-28</td>\n", | |
| " <td>63332</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>1431</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2012-09-29</td>\n", | |
| " <td>320750</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>0.11.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>11</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2012-09-29</td>\n", | |
| " <td>94598</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>5554</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-04-09</td>\n", | |
| " <td>93602</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>0.12.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>0</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-04-09</td>\n", | |
| " <td>113455</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-10-12</td>\n", | |
| " <td>10513</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>0.12.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>12</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-10-12</td>\n", | |
| " <td>3246</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>67</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>1159</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>68</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>946</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>69</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-07-31</td>\n", | |
| " <td>959</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>70</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-10-19</td>\n", | |
| " <td>48604</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>71</th>\n", | |
| " <td>0.13.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-10-19</td>\n", | |
| " <td>8386</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>36</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-11-17</td>\n", | |
| " <td>26768</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>37</th>\n", | |
| " <td>0.13.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-11-17</td>\n", | |
| " <td>5852</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>32</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2013-12-08</td>\n", | |
| " <td>74236</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>33</th>\n", | |
| " <td>0.13.2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>13</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2013-12-08</td>\n", | |
| " <td>64609</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>57</th>\n", | |
| " <td>0.14.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2014-05-03</td>\n", | |
| " <td>68592</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>664</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>662</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>0.14.1rc1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>665</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>823</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>687</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>0.14.1rc1.dev-52fb336</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>753</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>45</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>4681</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>46</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>743</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>1419</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>48</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>41891</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>49</th>\n", | |
| " <td>0.14.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>13304</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>59</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>656</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>60</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>648</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>61</th>\n", | |
| " <td>0.14.1rc1.dev-205726a</td>\n", | |
| " <td>0</td>\n", | |
| " <td>14</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2014-12-30</td>\n", | |
| " <td>649</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " <td>3645</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " <td>733</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " <td>1146</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " <td>39965</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>0.15.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-01-11</td>\n", | |
| " <td>4435</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>40</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " <td>70390</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>41</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " <td>5422</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " <td>19935</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>43</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " <td>506741</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>44</th>\n", | |
| " <td>0.15.1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-01-18</td>\n", | |
| " <td>67128</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " <td>15238</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " <td>340</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.whl</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " <td>7977</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>30</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.tar</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " <td>81593</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>31</th>\n", | |
| " <td>0.16.0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>.zip</td>\n", | |
| " <td>2015-07-24</td>\n", | |
| " <td>20372</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>72 rows × 8 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " key major minor patch number_of_releases \\\n", | |
| "34 0.4.4 0 4 4 0 \n", | |
| "35 0.5.2 0 5 2 0 \n", | |
| "19 0.6.0 0 6 0 0 \n", | |
| "21 0.7.0 0 7 0 0 \n", | |
| "20 0.7.2 0 7 2 0 \n", | |
| "58 0.8.0 0 8 0 1 \n", | |
| "38 0.9.0 0 9 0 2 \n", | |
| "39 0.9.0 0 9 0 2 \n", | |
| "13 0.10.0 0 10 0 3 \n", | |
| "14 0.10.0 0 10 0 3 \n", | |
| "15 0.10.0 0 10 0 3 \n", | |
| "11 0.10.1 0 10 1 2 \n", | |
| "12 0.10.1 0 10 1 2 \n", | |
| "8 0.11.0 0 11 0 3 \n", | |
| "9 0.11.0 0 11 0 3 \n", | |
| "10 0.11.0 0 11 0 3 \n", | |
| "24 0.12.0 0 12 0 3 \n", | |
| "25 0.12.0 0 12 0 3 \n", | |
| "26 0.12.0 0 12 0 3 \n", | |
| "22 0.12.1 0 12 1 2 \n", | |
| "23 0.12.1 0 12 1 2 \n", | |
| "67 0.13.0 0 13 0 5 \n", | |
| "68 0.13.0 0 13 0 5 \n", | |
| "69 0.13.0 0 13 0 5 \n", | |
| "70 0.13.0 0 13 0 5 \n", | |
| "71 0.13.0 0 13 0 5 \n", | |
| "36 0.13.1 0 13 1 2 \n", | |
| "37 0.13.1 0 13 1 2 \n", | |
| "32 0.13.2 0 13 2 2 \n", | |
| "33 0.13.2 0 13 2 2 \n", | |
| ".. ... ... ... ... ... \n", | |
| "57 0.14.0 0 14 0 8 \n", | |
| "5 0.14.1rc1 0 14 1 3 \n", | |
| "6 0.14.1rc1 0 14 1 3 \n", | |
| "7 0.14.1rc1 0 14 1 3 \n", | |
| "16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
| "45 0.14.1 0 14 1 5 \n", | |
| "46 0.14.1 0 14 1 5 \n", | |
| "47 0.14.1 0 14 1 5 \n", | |
| "48 0.14.1 0 14 1 5 \n", | |
| "49 0.14.1 0 14 1 5 \n", | |
| "59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
| "0 0.15.0 0 15 0 5 \n", | |
| "1 0.15.0 0 15 0 5 \n", | |
| "2 0.15.0 0 15 0 5 \n", | |
| "3 0.15.0 0 15 0 5 \n", | |
| "4 0.15.0 0 15 0 5 \n", | |
| "40 0.15.1 0 15 1 5 \n", | |
| "41 0.15.1 0 15 1 5 \n", | |
| "42 0.15.1 0 15 1 5 \n", | |
| "43 0.15.1 0 15 1 5 \n", | |
| "44 0.15.1 0 15 1 5 \n", | |
| "27 0.16.0 0 16 0 5 \n", | |
| "28 0.16.0 0 16 0 5 \n", | |
| "29 0.16.0 0 16 0 5 \n", | |
| "30 0.16.0 0 16 0 5 \n", | |
| "31 0.16.0 0 16 0 5 \n", | |
| "\n", | |
| " type_of_release uploaded_on number_of_downloads \n", | |
| "34 None N/A 0 \n", | |
| "35 None N/A 0 \n", | |
| "19 None N/A 0 \n", | |
| "21 None N/A 0 \n", | |
| "20 None N/A 0 \n", | |
| "58 .tar 2010-07-27 56945 \n", | |
| "38 .tar 2011-02-28 13242 \n", | |
| "39 .zip 2011-02-28 32703 \n", | |
| "13 .whl 2014-07-31 968 \n", | |
| "14 .tar 2011-11-13 13114 \n", | |
| "15 .zip 2011-11-13 17207 \n", | |
| "11 .tar 2012-02-28 33823 \n", | |
| "12 .zip 2012-02-28 63332 \n", | |
| "8 .whl 2014-07-31 1431 \n", | |
| "9 .tar 2012-09-29 320750 \n", | |
| "10 .zip 2012-09-29 94598 \n", | |
| "24 .whl 2014-07-31 5554 \n", | |
| "25 .tar 2013-04-09 93602 \n", | |
| "26 .zip 2013-04-09 113455 \n", | |
| "22 .tar 2013-10-12 10513 \n", | |
| "23 .zip 2013-10-12 3246 \n", | |
| "67 .whl 2014-07-31 1159 \n", | |
| "68 .whl 2014-07-31 946 \n", | |
| "69 .whl 2014-07-31 959 \n", | |
| "70 .tar 2013-10-19 48604 \n", | |
| "71 .zip 2013-10-19 8386 \n", | |
| "36 .tar 2013-11-17 26768 \n", | |
| "37 .zip 2013-11-17 5852 \n", | |
| "32 .tar 2013-12-08 74236 \n", | |
| "33 .zip 2013-12-08 64609 \n", | |
| ".. ... ... ... \n", | |
| "57 .zip 2014-05-03 68592 \n", | |
| "5 .whl 2014-12-30 664 \n", | |
| "6 .whl 2014-12-30 662 \n", | |
| "7 .whl 2014-12-30 665 \n", | |
| "16 .whl 2014-12-30 823 \n", | |
| "17 .whl 2014-12-30 687 \n", | |
| "18 .whl 2014-12-30 753 \n", | |
| "45 .whl 2014-12-30 4681 \n", | |
| "46 .whl 2014-12-30 743 \n", | |
| "47 .whl 2014-12-30 1419 \n", | |
| "48 .tar 2014-12-30 41891 \n", | |
| "49 .zip 2014-12-30 13304 \n", | |
| "59 .whl 2014-12-30 656 \n", | |
| "60 .whl 2014-12-30 648 \n", | |
| "61 .whl 2014-12-30 649 \n", | |
| "0 .whl 2015-01-11 3645 \n", | |
| "1 .whl 2015-01-11 733 \n", | |
| "2 .whl 2015-01-11 1146 \n", | |
| "3 .tar 2015-01-11 39965 \n", | |
| "4 .zip 2015-01-11 4435 \n", | |
| "40 .whl 2015-01-18 70390 \n", | |
| "41 .whl 2015-01-18 5422 \n", | |
| "42 .whl 2015-01-18 19935 \n", | |
| "43 .tar 2015-01-18 506741 \n", | |
| "44 .zip 2015-01-18 67128 \n", | |
| "27 .whl 2015-07-24 15238 \n", | |
| "28 .whl 2015-07-24 340 \n", | |
| "29 .whl 2015-07-24 7977 \n", | |
| "30 .tar 2015-07-24 81593 \n", | |
| "31 .zip 2015-07-24 20372 \n", | |
| "\n", | |
| "[72 rows x 8 columns]" | |
| ] | |
| }, | |
| "execution_count": 29, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sort( ['major','minor','patch'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#df = pd.DataFrame(np.random.normal(size=(2,2)), columns = ['a', 'b'])\n", | |
| "#HTML(df.to_html())\n", | |
| "#df.plot(kind='bar', stacked=True);" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "output_file(\"index.html\", mode = 'cdn' )\n", | |
| "TOOLS = [BoxSelectTool(), HoverTool(), TapTool()]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 32, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df = pd.DataFrame(versions)\n", | |
| "#incorporate languages later\n", | |
| "#circleMult = 9\n", | |
| "#df['number_of_downloads'] = [len(f.keys())*circleMult for f in df['number_of_downloads']]\n", | |
| "df['index'] = df.index\n", | |
| "df.loc[index,'number_of_downloads' ] = num_downloads[index]\n", | |
| "df.loc[index,'number_of_releases' ] = len(releases[sortedVersion['key']])\n", | |
| "df.loc[index,'type_of_release' ] = file_ext[index]\n", | |
| "df.loc[index,'uploaded_on' ] = upload_at[index]\n", | |
| "\n", | |
| "source = ColumnDataSource(df)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#ix3 = pd.MultiIndex.from_arrays([['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], ['foo', 'foo', 'bar', 'bar', 'foo', 'foo', 'bar', 'bar']], names=['letter', 'word'])\n", | |
| "\n", | |
| "#df3 = pd.DataFrame({'data1': [3, 2, 4, 3, 2, 4, 3, 2], 'data2': [6, 5, 7, 5, 4, 5, 6, 5]}, index=ix3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#df = pd.DataFrame(np.random.randn(1000, 2), columns=['index', 'number_of_downloads'])\n", | |
| "\n", | |
| "#df['number_of_downloads'] = df['number_of_downloads'] + np.arange(1000)\n", | |
| "\n", | |
| "#df.plot(kind='hexbin', x='index', y='number_of_downloads', gridsize=25)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 35, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#p = figure(x_axis_type = \"datetime\", tools=TOOLS)\n", | |
| "\n", | |
| "#p.segment(\n", | |
| "# x0 = 'index',\n", | |
| "# x1 = 'index',\n", | |
| "# y0 = 'uploaded_on',\n", | |
| "# y1 = 'uploaded_on',\n", | |
| "# color = \"blue\",\n", | |
| "# line_alpha = 1,\n", | |
| "# source = source\n", | |
| "#)\n", | |
| "\n", | |
| "#p.circle(\n", | |
| "# x= 'index',\n", | |
| "# y = 'type_of_release',\n", | |
| "# source = source,\n", | |
| "# size = 'number_of_downloads',\n", | |
| "# color = 'purple',\n", | |
| "# fill_alpha = 0.85\n", | |
| "#)\n", | |
| "\n", | |
| "#url = \"https://pypi.python.org/pypi/%s/@version\" % package\n", | |
| "#taptool = p.select(type = TapTool)\n", | |
| "#taptool.action = OpenURL(url = url)\n", | |
| "\n", | |
| "#hover = p.select(dict(type = HoverTool))\n", | |
| "\n", | |
| "#hover.tooltips = OrderedDict([\n", | |
| "# (\"index\", \"$index\"),\n", | |
| " #(\"description\", \"@short_description\"),\n", | |
| "# (\"format\", \"@type_of_release\"),\n", | |
| "# (\"created\", \"@uploaded_on\"), \n", | |
| " #(\"updated\", \"@updated_to\"),\n", | |
| "# (\"downloads\", \"@number_of_downloads\"),\n", | |
| "#])\n", | |
| "\n", | |
| "#show(p)" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 2", | |
| "language": "python", | |
| "name": "python2" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 2 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython2", | |
| "version": "2.7.8" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment