Skip to content

Instantly share code, notes, and snippets.

@scopatz
Created July 27, 2018 13:36
Show Gist options
  • Save scopatz/0cd592ec0e7c78a77d29e326c3cb4df4 to your computer and use it in GitHub Desktop.
Save scopatz/0cd592ec0e7c78a77d29e326c3cb4df4 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>in defaults</th>\n",
" <th>not in defaults</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>sunpy</th>\n",
" <td>0</td>\n",
" <td>38257</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fenics</th>\n",
" <td>0</td>\n",
" <td>42052</td>\n",
" </tr>\n",
" <tr>\n",
" <th>julia</th>\n",
" <td>0</td>\n",
" <td>5975</td>\n",
" </tr>\n",
" <tr>\n",
" <th>quantecon</th>\n",
" <td>0</td>\n",
" <td>5946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>shogun</th>\n",
" <td>0</td>\n",
" <td>8450</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pymc3</th>\n",
" <td>38999</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>yt</th>\n",
" <td>47332</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pystan</th>\n",
" <td>64713</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>sympy</th>\n",
" <td>234744</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>astropy</th>\n",
" <td>263350</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pytables</th>\n",
" <td>437568</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>bokeh</th>\n",
" <td>587927</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>jupyter_core</th>\n",
" <td>1050378</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ipython</th>\n",
" <td>1175875</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>matplotlib</th>\n",
" <td>2005078</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pandas</th>\n",
" <td>2085781</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>numpy</th>\n",
" <td>2106666</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" in defaults not in defaults\n",
"sunpy 0 38257\n",
"fenics 0 42052\n",
"julia 0 5975\n",
"quantecon 0 5946\n",
"shogun 0 8450\n",
"pymc3 38999 0\n",
"yt 47332 0\n",
"pystan 64713 0\n",
"sympy 234744 0\n",
"astropy 263350 0\n",
"pytables 437568 0\n",
"bokeh 587927 0\n",
"jupyter_core 1050378 0\n",
"ipython 1175875 0\n",
"matplotlib 2005078 0\n",
"pandas 2085781 0\n",
"numpy 2106666 0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"\n",
"index = ['numpy', 'matplotlib', 'pandas', 'jupyter_core', 'ipython', 'pystan', 'pymc3', \n",
" 'julia', 'pytables', 'shogun', 'sympy', 'fenics', 'yt', 'astropy', 'sunpy', 'quantecon', \n",
" 'bokeh'\n",
" ]\n",
"conda_forge = [2106666, 2005078, 2085781, 1050378, 1175875, 64713, 38999, 5975, 437568, \n",
" 8450, 234744, 42052, 47332, 263350, 38257, 5946, 587927\n",
" ]\n",
"defaults = [556015, 202617, 206872, 87042, 89602, 2749, 17520, 0, 72001, 0, 16295, 0, 1, \n",
" 90237, 0, 0, 76969\n",
" ]\n",
"in_defaults = [cf if d > 0 else 0 for cf, d in zip(conda_forge, defaults)]\n",
"not_in_defaults = [cf if d == 0 else 0 for cf, d in zip(conda_forge, defaults)]\n",
"df = pd.DataFrame({'in defaults': in_defaults, 'not in defaults': not_in_defaults}, index=index)\n",
"df = df.sort_values('in defaults')\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/scopatz/miniconda3/lib/python3.6/site-packages/matplotlib/cbook/deprecation.py:106: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.\n",
" warnings.warn(message, mplDeprecation, stacklevel=1)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fc6cd8e2d68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"df.plot(kind='barh')\n",
"ax = plt.axes()\n",
"ax.set_xticks([0.0, 1e5, 1e6, 2e6])\n",
"ax.set_xticklabels(['$0$', '$10^5$', '$10^6$', '$2\\\\times 10^6$'])\n",
"plt.savefig('cf-downloads.png', dpi=300, bbox_inches='tight')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment