X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/d780c6fe060e29ccf560c2e20e641245cd1853cb..f2562a307496028edbcb6c337bc5fcd69ca2ffc2:/data/issues.ipynb?ds=sidebyside diff --git a/data/issues.ipynb b/data/issues.ipynb index d0a20fc..7608fd7 100644 --- a/data/issues.ipynb +++ b/data/issues.ipynb @@ -2,7 +2,17 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import platform\n", + "print(platform.python_version())" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -15,20 +25,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3.12.2\n" - ] - } - ], + "outputs": [], "source": [ - "import platform\n", - "print(platform.python_version())" + "import os\n", + "\n", + "for file in data_files:\n", + "\tprint(f\"{file}\", os.path.getsize(file))\n" ] }, { @@ -44,27 +48,10 @@ "file = data_files[2]\n", "print(file)\n", "\n", - "f = open(file, encoding='utf-16')\n", + "f = open(file, encoding='utf-8')\n", "df = pd.read_json(f)" ] }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "print(type(df.closed[0]))" - ] - }, { "cell_type": "code", "execution_count": null, @@ -78,34 +65,18 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[Strategic] Job Aids on bootstrapping CICD Pipelines\n" - ] - } - ], - "source": [ - "print(df.milestone[22].get('title'))" - ] - }, - { - "cell_type": "code", - "execution_count": 58, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "closed_months = pd.to_datetime(df['closedAt'], format='ISO8601')\n", - "df['closed_month'] = closed_months.dt.month" + "df['closed_month'] = closed_months.dt.month\n", + "df.drop(columns=['closedAt'], inplace=True)" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -114,67 +85,57 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "for_plot = df.groupby(df.closed.dt.month)['url'].count()" + "\n", + "grp_df = df.groupby(['mile', 'closed_month']).count().reset_index()\n", + "grp_df.drop(columns=['milestone', 'title', 'url'], inplace=True)" ] }, { "cell_type": "code", - "execution_count": 59, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n", - "grp_df = df.groupby(['mile', 'closed_month']).count().reset_index()" + "print(grp_df)" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "print(grp_df)" + "#### Plot of closed issues by month and milestone for one project\n" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ - "#### Plot of closed issues by month for one project\n" + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "sns.set_theme()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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x3wAQBkpOixuvfXWmDFjRlx66aUxZsyY+Kd/+qc47LDD4l//9V/bYz4AoIx0K2bnt956K9avXx81NTWtt3Xp0iUmTZoUjz322H7v09TUFE1NTa3rDQ0NERHR2Nj4vo7Z0vSHYkZ8397v8Q9Fe80c0X5zm7ktM/+Rmdsqx387zNyWmf+omJnf3TeldPAdUxFefPHFFBHp0UcfbXP717/+9XTaaaft9z5z585NEWGxWCwWi+VDsNTX1x+0FYo6Y3EoampqYvbs2a3rLS0t8dprr0W/fv2iUChkO05jY2MMGTIk6uvro1evXtketz2ZuWOU48wR5Tm3mTuGmTuGmdtKKcWuXbti0KBBB92vqLD42Mc+Fl27do2XXnqpze0vvfRSDBgwYL/3qaioiIqKija3HXnkkcUctii9evUqmyfAu8zcMcpx5ojynNvMHcPMHcPMf9S7d+/33Keoizd79OgR48ePj5UrV7be1tLSEitXrozq6uriJwQAPlSK/lPI7NmzY/r06XHKKafEaaedFt/61rdiz549cemll7bHfABAGSk6LP7iL/4iXnnllbjhhhti586dMW7cuHjggQfi6KOPbo/53reKioqYO3fuPn926czM3DHKceaI8pzbzB3DzB3DzIemkN7zfSMAAO+P7woBALIRFgBANsICAMhGWAAA2QgLPhJcowzQMdr9I72hM6ioqIjNmzfH6NGjSz0KFG3Hjh2xaNGieOSRR2LHjh3RpUuXOOaYY+LCCy+MSy65JLp27VrqEaHVh/aMRX19fXz1q18t9RhtvPHGG/HII4/EM888s8+2N998M77//e+XYKqD+/Wvfx3/9m//Fs8++2xERDz77LNx+eWXx1e/+tX45S9/WeLp9jV79uz9Ls3NzbFw4cLW9c5mw4YNsW3bttb1O++8MyZMmBBDhgyJM844I5YsWVLC6fbviiuuiF/96lelHqNot912W0ybNq31Z3rnnXfGmDFjYtSoUXHdddfF3r17SzxhW+vWrYvRo0fHf/7nf8bbb78dW7dujfHjx8fhhx8eV199dZx55pmxa9euUo8Jf1TMt5uWk02bNqUuXbqUeoxWzz33XBo2bFgqFAqpS5cu6cwzz0zbt29v3b5z585ONW9KKS1fvjz16NEj9e3bN1VWVqbly5en/v37p0mTJqVPfepTqWvXrmnlypWlHrONQqGQxo0blyZOnNhmKRQK6dRTT00TJ05MZ599dqnH3MfYsWPTihUrUkopLV68OFVVVaUrr7wyLVq0KM2aNSsdccQR6bvf/W6Jp2zr3efyxz/+8bRw4cK0Y8eOUo/0nm688cbUs2fP9LnPfS4NGDAgLVy4MPXr1y/ddNNNaf78+al///7phhtuKPWYbUyYMCHNmzevdf3OO+9Mp59+ekoppddeey2NGzcuXXnllaUa74CamprS0qVL06xZs9KXvvSl9KUvfSnNmjUr/fCHP0xNTU2lHu+Q7Ny5M9XW1pZ6jP2qr69Pu3bt2uf2t956Kz388MMdOkvZhsVPfvKTgy7f/OY3O9Uv6gsvvDBdcMEF6ZVXXklbt25NF1xwQRoxYkT67W9/m1LqnGFRXV2drr/++pRSSj/4wQ9Snz590nXXXde6/dprr03nnntuqcbbrwULFqQRI0bsEzzdunVLTz/9dImmem9VVVWprq4upZTSySefnP75n/+5zfa77747jRkzphSjHVChUEgPPfRQuuqqq9LHPvax1L179/SZz3wm/exnP0vNzc2lHm+/jj322PTjH/84pfTOi4+uXbumu+66q3X7vffem0aOHFmq8farqqoqvfDCC63rzc3NqXv37mnnzp0ppZR+8YtfpEGDBpVqvP3aunVrOuaYY1JlZWU666yz0he/+MX0xS9+MZ111lmpsrIyjRw5Mm3durXUYxats71gTSml7du3p1NPPTV16dIlde3aNf3lX/5lm8Aoxe+Wsg2Ld18tFQqFAy6d6Qlw1FFHpSeffLJ1vaWlJf3VX/1VGjp0aHrhhRc6ZVj06tWr9X/+5ubm1K1bt7Rhw4bW7Vu2bElHH310qcY7oMcffzwdd9xx6W/+5m/SW2+9lVLq/GHRr1+/tG7dupTSO8+VTZs2tdn+/PPPp6qqqlKMdkCFQiG99NJLKaV3XhUtXbo0nXfeealr165p0KBB6brrrut0vzyqqqpaYz6llLp3756eeuqp1vW6urp02GGHlWK0Axo2bFh65JFHWte3b9+eCoVC+sMf/pBSSmnbtm2psrKyVOPt16RJk9LUqVNTQ0PDPtsaGhrS1KlT0+TJk0sw2cFt3rz5oMvSpUs73b/T06ZNS6effnp64okn0ooVK9L48ePTKaeckl577bWU0jthUSgUOnSmsg2LQYMGpfvuu++A2zdu3NipngA9e/ZMzzzzzD63z5w5Mw0ePDitXr26U82b0jth8fzzz7euH3HEEW1eOdXV1XW6f9DetWvXrjRt2rQ0duzYtGXLltS9e/dOHRZf+cpX0mWXXZZSSukLX/hC+tu//ds22+fPn59OPPHEUox2QH8aFn/qt7/9bZo7d24aNmxYp3tOjxgxIi1fvjyllNL//M//pC5duqQf/vCHrdvvv//+NHz48FKNt19XXXVVOuGEE9Ly5cvTL3/5y3T22WeniRMntm5/4IEH0rHHHlvCCfdVVVWVtmzZcsDtTz75ZKcL5ZQO/oL13ds723N60KBBae3ata3rb775ZpoyZUoaN25cevXVV0vyorVs3xUyfvz4WL9+fUydOnW/2wuFQqd6i+GoUaNaL8L6U7fddltERHzmM58pxVgHNXz48Ni6dWsce+yxERHx2GOPxdChQ1u3/+53v4uBAweWaryDOuKII+Lf//3fY8mSJTFp0qRobm4u9UgH9Y1vfCMmTJgQZ511VpxyyinxD//wD7Fq1aoYPXp0PPfcc7FmzZpYtmxZqcd8X4YOHRrz5s2LuXPnxkMPPVTqcdq4+OKLY9q0aTF16tRYuXJlXHPNNXH11VfHq6++GoVCIW6++eb4/Oc/X+ox27jppptix44dMWXKlGhubo7q6uq46667WrcXCoVYsGBBCSfc15FHHhl1dXVxwgkn7Hd7XV1dHHnkkR071PvQt2/fuOWWW+Kcc87Z7/ann346pkyZ0sFTHVxDQ0P06dOndb2ioiLuvffe+MIXvhBnn312m+dKh+nQjMlo9erVra889mf37t1p1apVHTjRwc2fPz+df/75B9x++eWXd/jpqveyaNGi9POf//yA22tqalpfZXdm9fX16b777ku7d+8u9SgH9frrr6c5c+akMWPGpMrKytSjR480bNiw9OUvfzk98cQTpR5vH8OHD0//+7//W+oxitLc3Jxuvvnm9OlPfzrNnz8/tbS0pB/84AdpyJAhqV+/fumSSy7ptM+TN954Y78X53VGf/d3f5f69OmTbr311rR58+a0c+fOtHPnzrR58+Z06623pr59+6a5c+eWesx9TJ48Od14440H3L5p06ZO9+/0iSeemH70ox/tc/vbb7+dLrzwwjR06NAOP2Ph200ByO4b3/hGfPvb346dO3dGoVCIiHc+qG7AgAExa9asuOaaa0o84b6WLVsWe/bsia985Sv73f7666/HT3/605g+fXoHT3Zgc+bMiU2bNsWDDz64z7a9e/fG5z73ufjZz34WLS0tHTaTsACg3Wzbti127twZEREDBgyIESNGlHiiD5e9e/fGH/7wh+jVq9cBt7/44osxbNiwDpvpQ/sBWQCU3ogRI6K6ujqqq6tbo6IzfoDh+9EZ5+7WrdsBoyLinU9tra2t7cCJnLEAoINt3rw5PvnJT3b6i6r/f+U4dylmLtt3hQDQOf30pz896Pbf/OY3HTRJccpx7s44szMWAGTVpUuX93zLf6FQ6HSv/Mtx7s44s2ssAMhq4MCBce+990ZLS8t+lw0bNpR6xP0qx7k748zCAoCs3v0AwwPpbB9g+K5ynLszzuwaCwCy+vrXvx579uw54PaRI0fGf/3Xf3XgRO9POc7dGWd2jQUAkI0/hQAA2QgLACAbYQEAZCMsAIBshAWwj7q6uigUCrFp06aP9AxA8YQFAJCNsAAAshEW8BHW0tISt9xyS4wcOTIqKipi6NChcfPNN+9334cffjhOO+20qKioiIEDB8a1114be/fubd3+ox/9KE488cSoqqqKfv36xaRJk9p8cM+//Mu/xOjRo6OysjJGjRoV//iP/9jm8R9//PE4+eSTo7KyMk455ZTYuHFj+/xHA+3KJ2/CR1hNTU0sXrw4vvnNb8YZZ5wRO3bsiGeffXaf/V588cX48z//87jkkkvi+9//fjz77LMxY8aMqKysjHnz5sWOHTvioosuiltuuSU++9nPxq5du+JXv/pV60cJ33333XHDDTfEbbfdFieffHJs3LgxZsyYEYcffnhMnz49du/eHZ/+9Kfj3HPPjbvuuiu2bdsWV111VUf/OIAcEvCR1NjYmCoqKtLixYv32bZt27YUEWnjxo0ppZSuu+66dPzxx6eWlpbWfW6//fZ0xBFHpObm5rR+/foUEamurm6/xzr22GPTPffc0+a2G2+8MVVXV6eUUrrjjjtSv3790htvvNG6fdGiRW1mAMqDMxbwEfXrX/86mpqa4pxzznlf+1ZXV0ehUGi9bcKECbF79+74/e9/HyeddFKcc845ceKJJ8Z5550XkydPjs9//vPRp0+f2LNnT7zwwgtx2WWXxYwZM1rvv3fv3ujdu3fr448dOzYqKytbt1dXV2f8rwU6irCAj6iqqqpsj9W1a9dYsWJFPProo/GLX/wivvOd78T1118fa9eujcMOOywiIhYvXhynn376PvcDPlxcvAkfUR//+MejqqoqVq5c+Z77jh49Oh577LE2X7/83//939GzZ88YPHhwRLzz9cwTJkyI2tra2LhxY/To0SOWLVsWRx99dAwaNCh+85vfxMiRI9ssI0aMaH38J598Mt58883Wx1+zZk3m/2KgIzhjAR9RlZWVMWfOnLjmmmuiR48eMWHChHjllVfi6aef3ufPI3/9138d3/rWt+KKK66Ir33ta/Hcc8/F3LlzY/bs2dGlS5dYu3ZtrFy5MiZPnhxHHXVUrF27Nl555ZUYPXp0RETU1tbGlVdeGb17944/+7M/i6ampli3bl28/vrrMXv27Pjyl78c119/fcyYMSNqamqirq4u/v7v/74UPxbggyr1RR5A6TQ3N6ebbropDRs2LHXv3j0NHTo0zZ8/f5+LN1NKadWqVenUU09NPXr0SAMGDEhz5sxJb7/9dkoppWeeeSadd955qX///qmioiIdd9xx6Tvf+U6bY919991p3LhxqUePHqlPnz7pzDPPTPfee2/r9sceeyyddNJJqUePHmncuHHpxz/+sYs3oQwVUvqTc5sAAB+AaywAgGyEBQCQjbAAALIRFgBANsICAMhGWAAA2QgLACAbYQEAZCMsAIBshAUAkI2wAACy+X9uAK2SLjLo9wAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "for_plot.plot(kind='bar')" + "plt.figure(figsize=(10, 6))\n", + "sns.barplot(x='closed_month', y='url', hue='mile', data=grp_df)\n", + "plt.xlabel('Closed Month')\n", + "plt.ylabel('ClosedAt')\n", + "plt.title('Stacked Line Chart: Milestone Effort by Issue Close Date')\n", + "plt.xticks(rotation=45)\n", + "plt.legend(title='Mile', loc='upper left')\n", + "plt.show()" ] } ],