Skip to content

Instantly share code, notes, and snippets.

@digiguru
Last active May 16, 2024 00:32
Show Gist options
  • Save digiguru/cc9a3464a5fffbe56467c729c7c1bf7a to your computer and use it in GitHub Desktop.
Save digiguru/cc9a3464a5fffbe56467c729c7c1bf7a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/mz/b38k335x4273ybzjvn8m08880000gn/T/ipykernel_4084/17738244.py:12: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
" df['Created'] = pd.to_datetime(df['Created'])\n",
"/var/folders/mz/b38k335x4273ybzjvn8m08880000gn/T/ipykernel_4084/17738244.py:13: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
" df['Resolved'] = pd.to_datetime(df['Resolved'])\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAIjCAYAAADFthA8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABp3klEQVR4nO3dd3QUZd/G8WsT0khZehIgCSUgNRBBIXQEpElTEBWlPYgiioCgIggiIIhKUYoGFaQpgvK8ilIUBRRRsSAoSg0JKgSlhJqA2fv9w5N9WBIgC7vZJPv9nLMHdnb2nt/M7Ez22pm5x2KMMQIAAAAAL+Hj6QIAAAAAIC8RggAAAAB4FUIQAAAAAK9CCAIAAADgVQhBAAAAALwKIQgAAACAVyEEAQAAAPAqhCAAAAAAXoUQBAAAAMCrEIIA5CsWi0XPPPOMp8u4bosWLVK1atXk5+enYsWKXXd7LVq0UIsWLa67nfymQoUKuu222zxdhp2r15ur9e3bVxUqVHAYdvr0aQ0YMEARERGyWCwaOnSoJCk1NVXdu3dXyZIlZbFYNGPGjDyvt6Br0aKFatWq5ekyALgBIQjIZ/bt26cHHnhAlSpVUmBgoMLCwtS4cWPNnDlT586d83R5yIXffvtNffv2VeXKlTVv3jwlJiZmG+fAgQOyWCy5ehw4cCDvZ+IKclv3hg0bPF2qU3Kz3lzpmWeecVheRYsWVXR0tDp16qT58+crIyMjV+0899xzWrBggQYNGqRFixbpvvvukyQNGzZMa9eu1ahRo7Ro0SK1a9fOnbNzXebMmaMFCxZcdby+ffvm6rPXt29ft9d8ORs2bMj1NgLAc4p4ugAA//PRRx+pR48eCggIUO/evVWrVi2dP39eX375pUaOHKlffvnF7V/MPO3cuXMqUqRg75o2bNggm82mmTNnKjY2NsdxSpcurUWLFjkMe+mll/T7779r+vTp2cZdt26d2+p11qV1L1y4UJ988km24dWrV8/Lsq5bbtabO8ydO1chISHKyMjQH3/8obVr16p///6aMWOGVq1apaioKPu48+bNk81mc3j/Z599poYNG2rcuHHZhnfp0kUjRozIk/m4HnPmzFGpUqWuGl4eeOABtW7d2v48KSlJY8eO1cCBA9W0aVP78MqVK7ur1KuqXr16tm1h1KhRCgkJ0ejRoz1UFYBLFexvGkAhkpSUpLvuuksxMTH67LPPFBkZaX9t8ODB2rt3rz766CMPVug+NptN58+fV2BgoAIDAz1dznU7cuSIJF3xdKrg4GDde++9DsPeeecdHT9+PNvw/ObS+r7++mt98skn+b7uq8nNenPW2bNnVbRo0SuO0717d5UqVcr+fOzYsVqyZIl69+6tHj166Ouvv7a/5ufnl+39R44cUY0aNXIc7sp5+eeff2Sz2eTv7++yNp2VkJCghIQE+/PvvvtOY8eOVUJCQr75/IWHh2erZcqUKSpVqlS+qREAp8MB+cbUqVN1+vRpvfHGGw4BKEtsbKweffRR+/N//vlHEyZMUOXKlRUQEKAKFSroqaeeynYKTdY1Fxs2bFD9+vUVFBSk2rVr209Vev/991W7dm0FBgaqXr16+vHHHx3e37dvX4WEhGj//v1q27atgoODVbZsWT377LMyxjiM++KLL6pRo0YqWbKkgoKCVK9ePa1YsSLbvFgsFj388MNasmSJatasqYCAAK1Zs8b+2sXXBJ06dUpDhw5VhQoVFBAQoDJlyqhNmzb64YcfHNpcvny56tWrp6CgIPuXjT/++CPHefnjjz/UtWtXhYSEqHTp0hoxYoQyMzMvs2YczZkzx15z2bJlNXjwYJ04ccJheWf9Il+6dGmXXeN06TVBWafcvPvuuxo/frzKlSun0NBQde/eXWlpacrIyNDQoUNVpkwZhYSEqF+/fjmeXrV48WL7citRooTuuusuHTx48LrrnT9/vm655RaVKVNGAQEBqlGjhubOnZur97711lsqUqSIRo4caR/2zTffqF27drJarSpatKiaN2+uzZs3O7wv6/SyvXv3qm/fvipWrJisVqv69euns2fPXnGaV1tvV1vv0v+uH/n+++/VrFkzFS1aVE899VSu5vlSvXr10oABA/TNN9/ok08+sQ+/+JqgrM9AUlKSPvroI/spVgsWLJDFYpExRrNnz8526tWJEyc0dOhQRUVFKSAgQLGxsXr++ecdjjBlna754osvasaMGfb9zM6dOyX9e+pg9+7dVaJECQUGBqp+/fr64IMPHOYhq47Nmzdr+PDhKl26tIKDg9WtWzf99ddfDsv+l19+0caNG+21Xs/1b9u3b1ffvn3tpxRHRESof//+Onr0qMN4ud23XGrdunUqWrSo7r77bv3zzz9O12eMUYUKFdSlS5dsr6Wnp8tqteqBBx6Q9L91vGzZMj311FOKiIhQcHCwOnfunON2mpvt5FrnGyh0DIB8oVy5cqZSpUq5Hr9Pnz5GkunevbuZPXu26d27t5Fkunbt6jBeTEyMueGGG0xkZKR55plnzPTp0025cuVMSEiIWbx4sYmOjjZTpkwxU6ZMMVar1cTGxprMzEyH6QQGBpoqVaqY++67z8yaNcvcdtttRpJ5+umnHaZVvnx589BDD5lZs2aZadOmmZtvvtlIMqtWrXIYT5KpXr26KV26tBk/fryZPXu2+fHHH+2vjRs3zj7uPffcY/z9/c3w4cPN66+/bp5//nnTqVMns3jxYvs48+fPN5LMTTfdZKZPn26efPJJExQUZCpUqGCOHz+ebV5q1qxp+vfvb+bOnWvuuOMOI8nMmTPnqst83LhxRpJp3bq1eeWVV8zDDz9sfH19zU033WTOnz9vjDFm5cqVplu3bkaSmTt3rlm0aJH56aefrtq2McZ07NjRxMTE5Pha8+bNTfPmze3PP//8cyPJ1K1b1yQkJJiXX37ZDBkyxFgsFnPXXXeZe+65x7Rv397Mnj3b3HfffUaSGT9+vEObEydONBaLxfTs2dPMmTPHjB8/3pQqVSrbcruawYMHm0v/nNx0002mb9++Zvr06eaVV14xt956q5FkZs2a5TBeTEyM6dixo/35a6+9ZiwWixk9erR92Pr1642/v79JSEgwL730kpk+fbqJi4sz/v7+5ptvvrGPl7V+4uPjze23327mzJljBgwYYCSZxx9//IrzcKX1lpv1bsy/6ygiIsKULl3aPPLII+a1114z//3vfy87zax2//rrrxxf/+KLL4wkM2LECPuwPn362D8jhw8fNosWLTKlSpUydevWNYsWLTKLFi0yP//8s1m0aJGRZNq0aWMfbowxZ86cMXFxcaZkyZLmqaeeMq+++qrp3bu3sVgs5tFHH7VPJykpyUgyNWrUMJUqVTJTpkwx06dPN8nJyebnn382VqvV1KhRwzz//PNm1qxZplmzZsZisZj333/f3kbWdhkfH29uueUW88orr5jHHnvM+Pr6mjvvvNNh2ZcvX95Uq1bNXuu6deuuuL6ybN261Ugy8+fPtw978cUXTdOmTc2zzz5rEhMTzaOPPmqCgoLMzTffbGw2m3283OxbmjdvbmrWrGl//uGHH5qAgADTu3dv888//+SqRmOMqVmzpsP2O3r0aOPn52eOHj3qMN67775rJJlNmzYZY/63ndeuXdvExcWZadOmmSeffNIEBgaaqlWrmrNnz9rfm9vtJDfzDXgDQhCQD6SlpRlJpkuXLrkaf9u2bUaSGTBggMPwESNGGEnms88+sw+LiYkxksxXX31lH7Z27VojyQQFBZnk5GT78Ndee81IMp9//rl9WFbYeuSRR+zDbDab6dixo/H393f4AnfxH2RjjDl//rypVauWueWWWxyGSzI+Pj7ml19+yTZvl4Ygq9VqBg8efNllcf78eVOmTBlTq1Ytc+7cOfvwVatWGUlm7Nix2ebl2WefdWgjPj7e1KtX77LTMMaYI0eOGH9/f3Prrbc6hMRZs2YZSebNN9+0D7val9vLuZYQVKtWLYcv4nfffbexWCymffv2Du9PSEhwaPvAgQPG19fXTJo0yWG8HTt2mCJFimQbfiU5haBLPwvGGNO2bdtsQf/iEDRz5kxjsVjMhAkT7K/bbDZTpUoV07ZtW4cvsGfPnjUVK1Y0bdq0sQ/LWu79+/d3mEa3bt1MyZIlrzofOa03Z9Z78+bNjSTz6quvXnVal5vexY4fP24kmW7dutmHXRyCslwaJLNIyrbtTJgwwQQHB5vdu3c7DH/yySeNr6+vSUlJMcb8LwSFhYWZI0eOOIzbqlUrU7t2bZOenm4fZrPZTKNGjUyVKlXsw7JCUOvWrR3W3bBhw4yvr685ceKEfdilISG3cgpBOX323n77bYdwYczV9y3GOIag9957z/j5+Zn777/f4bOQG5fO365du+yB+2KdO3c2FSpUsC+vrO28XLly5uTJk/bxssLSzJkzjTHObSe5mW/AG3A6HJAPnDx5UpIUGhqaq/E//vhjSdLw4cMdhj/22GOSlO3aoRo1ajicR9+gQQNJ0i233KLo6Ohsw/fv359tmg8//LD9/1mns50/f16ffvqpfXhQUJD9/8ePH1daWpqaNm2a42kWzZs3z/E6hksVK1ZM33zzjf78888cX//uu+905MgRPfTQQw7XE3Xs2FHVqlXL8TqqBx980OF506ZNc5zni3366ac6f/68hg4dKh+f/+0677//foWFhXnseq3evXs7XCfSoEEDGWPUv39/h/EaNGiggwcP2k/fef/992Wz2XTnnXfq77//tj8iIiJUpUoVff7559dV18WfhbS0NP39999q3ry59u/fr7S0tGzjT506VY8++qief/55jRkzxj5827Zt2rNnj+655x4dPXrUXueZM2fUqlUrbdq0KVtHATmt36NHj9q3M2c4u94DAgLUr18/p6eTk5CQEEn/nr7kKsuXL1fTpk1VvHhxh/XeunVrZWZmatOmTQ7j33HHHSpdurT9+bFjx/TZZ5/pzjvv1KlTp+zvP3r0qNq2bas9e/ZkOw114MCBDqfjNW3aVJmZmUpOTnbZfF3s4s9eenq6/v77bzVs2FCSHPZFV9u3XOztt99Wz5499cADD+i1115z+Cxci6pVq6pBgwZasmSJfdixY8e0evVq9erVK1vPcb1793b4+9C9e3dFRkba/xY4s504M99AYVZoOkbYtGmTXnjhBX3//fc6dOiQVq5cqa5duzrVhjFGL730khITE5WcnKxSpUrpoYceojcXuF1YWJik3H/ZSU5Olo+PT7YerCIiIlSsWLFsXy4uDjqSZLVaJcmh16mLhx8/ftxhuI+PjypVquQwrGrVqpLk0H3zqlWrNHHiRG3bts3h+pOcuoKtWLHiZefvYlOnTlWfPn0UFRWlevXqqUOHDurdu7e9nqx5veGGG7K9t1q1avryyy8dhgUGBjp8qZOk4sWLZ5vnS11uOv7+/qpUqZLbvtBdjTPr1mazKS0tTSVLltSePXtkjFGVKlVybDenC/CdsXnzZo0bN05btmzJdj1OWlqavU5J2rhxoz766CM98cQTDtcBSdKePXskSX369LnstNLS0lS8eHH780uXSdZrx48ft29rueXsei9XrpzLOg44ffq0pNz/OJIbe/bs0fbt27NtA1myOofIcul2unfvXhlj9PTTT+vpp5++bBvlypWzP7/S+nCHY8eOafz48XrnnXeyzc/FAfxq+5YsSUlJuvfee9WjRw+98sorLquzd+/eevjhh5WcnKyYmBgtX75cFy5csHdxfrFLt1OLxaLY2Fj7/teZ7SS38w0UdoUmBJ05c0Z16tRR//79dfvtt19TG48++qjWrVunF198UbVr19axY8d07NgxF1cKZBcWFqayZcvq559/dup9ub3PhK+vr1PDzSUdHuTGF198oc6dO6tZs2aaM2eOIiMj5efnp/nz52vp0qXZxr/419orufPOO9W0aVOtXLlS69at0wsvvKDnn39e77//vtq3b+90nZeb54LqWtetzWaTxWLR6tWrcxw36yjEtdi3b59atWqlatWqadq0aYqKipK/v78+/vhjTZ8+PduRm5o1a+rEiRNatGiRHnjgAYcv3lnjvvDCC6pbt26O07u0Vld+rp2V2891bmTtD1zZXbfNZlObNm30+OOP5/h61o8bWS6dn6z1MWLECLVt2zbHNi6tN6/Xx5133qmvvvpKI0eOVN26dRUSEiKbzaZ27do5fPZyu2+JjIy0H3X57rvvVL9+fZfUedddd2nYsGFasmSJnnrqKS1evFj169fP8Qedq3FmO3H1PhUoqApNCGrfvv0VN96MjAyNHj1ab7/9tk6cOKFatWrp+eeft/dA8+uvv2ru3Ln6+eef7Tug3P5SDbjCbbfdpsTERG3ZssXh1LWcxMTEyGazac+ePQ73YklNTdWJEycUExPj0tpsNpv279/v8AVp9+7dkmTvqeq9995TYGCg1q5dq4CAAPt48+fPv+7pR0ZG6qGHHtJDDz2kI0eO6MYbb9SkSZPUvn17+7zu2rVLt9xyi8P7du3a5bJlcfF0Lv7F9Pz580pKSnK4d0lBULlyZRljVLFixWxffK/Xhx9+qIyMDH3wwQcORwEud4pdqVKltGLFCjVp0kStWrXSl19+qbJly9rrlP79ocATy9iT6z3rXjOXCxvXonLlyjp9+vQ11521DPz8/Fw67666cejx48e1fv16jR8/XmPHjrUPzzpScqkr7VuyBAYGatWqVbrlllvUrl07bdy4UTVr1rzuWkuUKKGOHTtqyZIl6tWrlzZv3qwZM2bkOO6l9RtjtHfvXsXFxUlyfjvJzXwDhZ3XXBP08MMPa8uWLXrnnXe0fft29ejRQ+3atbPvWD788ENVqlRJq1atUsWKFVWhQgUNGDCAI0HIM48//riCg4M1YMAApaamZnt93759mjlzpiSpQ4cOkpTtD+a0adMk/Xs9jKvNmjXL/n9jjGbNmiU/Pz+1atVK0r+/9losFoeupg8cOKD//ve/1zzNzMzMbNePlClTRmXLlrWfble/fn2VKVNGr776qsMpeKtXr9avv/7qsmXRunVr+fv76+WXX3b4BfuNN95QWlqaW5a5O91+++3y9fXV+PHjs/0ib4zJ1p2wM7J++b+43bS0tCsG4vLly+vTTz/VuXPn1KZNG/v069Wrp8qVK+vFF1+0nx52sYu7WnYHT633pUuX6vXXX1dCQoJ9G3OFO++8U1u2bNHatWuzvXbixImrdvlcpkwZtWjRQq+99poOHTqU7fVrXR/BwcHZuhy/Fjl99qTs+8rc7FsuZrVatXbtWnt30vv27bvuWiXpvvvu086dOzVy5Ej5+vrqrrvuynG8hQsXOpwuvWLFCh06dMgeWnK7nTg730BhVmiOBF1JSkqK5s+fr5SUFPuviyNGjNCaNWs0f/58Pffcc9q/f7+Sk5O1fPlyLVy4UJmZmRo2bJi6d++uzz77zMNzAG9QuXJlLV26VD179lT16tXVu3dv1apVS+fPn9dXX32l5cuX2++mXqdOHfXp00eJiYk6ceKEmjdvrm+//VZvvfWWunbtqpYtW7q0tsDAQK1Zs0Z9+vRRgwYNtHr1an300Ud66qmn7NcWdOzYUdOmTVO7du10zz336MiRI5o9e7ZiY2O1ffv2a5ruqVOnVL58eXXv3l116tRRSEiIPv30U23dulUvvfSSpH9/kX7++efVr18/NW/eXHfffbdSU1M1c+ZMVahQQcOGDXPJMihdurRGjRql8ePHq127durcubN27dqlOXPm6KabbipwN0GsXLmyJk6cqFGjRunAgQPq2rWrQkNDlZSUpJUrV2rgwIEaMWLENbV96623yt/fX506ddIDDzyg06dPa968eSpTpkyOX5yzxMbGat26dWrRooXatm2rzz77TGFhYXr99dfVvn171axZU/369VO5cuX0xx9/6PPPP1dYWJg+/PDDa10MV5UX633FihUKCQnR+fPn9ccff2jt2rXavHmz6tSpo+XLl7tgLv5n5MiR+uCDD3Tbbbepb9++qlevns6cOaMdO3ZoxYoVOnDggMONW3Mye/ZsNWnSRLVr19b999+vSpUqKTU1VVu2bNHvv/+un376yem66tWrp7lz52rixImKjY1VmTJlsh3ZzY2wsDA1a9ZMU6dO1YULF1SuXDmtW7dOSUlJDuPlZt9yqVKlSumTTz5RkyZN1Lp1a3355ZcO1z5di44dO6pkyZJavny52rdvrzJlyuQ4XokSJdSkSRP169dPqampmjFjhmJjY3X//fdL+ve6zdxsJ9cy30Chlef90eUBSWblypX251ld5QYHBzs8ihQpYr9Xwf33328kmV27dtnf9/333xtJ5rfffsvrWYAX2717t7n//vtNhQoVjL+/vwkNDTWNGzc2r7zyikOX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FSpUKPD7o5yWy8XDsv7OObOsTp8+rQceeEBDhgzJ9lp0dLR27959jdUqx9ouHZZVqzPr5nrnOb9xx99j6d+/KZcaMGCA7rvvPk2fPl3z589Xz549VbRo0euajrc6ffq0fH199f3332f7jGZ1DvPCCy9o5syZmjFjhmrXrq3g4GANHTrU/jehoOFIUB7YvHmz+vbtq27duql27dqKiIhwuPhb+veXudatW2vq1Knavn27Dhw4oM8++8z+euXKlfX555/r//7v//TII4/k8RwUPDVq1HC4EPbrr792eP3rr79W9erVr9jGlClT1KdPH7Vq1Uo7d+6U9O8vfWXLltX+/fsVGxvr8KhYsaLrZ6QQyeru99y5cypdurQkx165Lu2Y4oYbbtDWrVsdhl363Ftlfb5zsxyzXLwNHD9+XLt377ZvA/7+/srMzHQY/7ffftPRo0c1ZcoUNW3aVNWqVcvx1+nSpUurT58+Wrx4sWbMmKHExESH1wcNGqQpU6aoc+fO9ovxC4rcbO9xcXHatm2bjh075vZ6zp07p8TERDVr1kylS5d2an908fr/559/9P333zusf0nZPgP51ZU+yzfeeKN27tyZbXnExsbK399f1apVs89/ll27drm8e3BX/a3IadssaC7+e+zn55dtfqpXr56ty//NmzerRo0aV227Q4cOCg4O1ty5c7VmzRr179/fdYUXIpUrV5afn59Dhy1Z206W+Ph4ZWZm6siRI9k+s1m9JW7evFldunTRvffeqzp16qhSpUrX9cOCp3EkKA9UqVJF77//vjp16iSLxaKnn37a4VeeVatWaf/+/WrWrJmKFy+ujz/+WDabzeEwpSRVrVpVn3/+uVq0aKEiRYo43NjNWx09elQ9evRQ//79FRcXp9DQUH333XeaOnWqunTpYh9v+fLlql+/vpo0aaIlS5bo22+/1RtvvHHV9l988UVlZmbqlltu0YYNG1StWjWNHz9eQ4YMkdVqVbt27ZSRkaHvvvtOx48f1/Dhw905uwVKRkaGDh8+LOnfne2sWbN0+vRpderUSbGxsYqKitIzzzyjSZMmaffu3dl6qnnkkUfUrFkzTZs2TZ06ddJnn32m1atXe9VR0Kt9voOCgtSwYUNNmTJFFStW1JEjRzRmzJgc23r22WdVsmRJhYeHa/To0SpVqpT9/hFZRxXWr1+vOnXqqGjR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",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Read the CSV file into a pandas DataFrame\n",
"df = pd.read_csv('JiraExample.csv')\n",
"\n",
"# Drop rows with missing or invalid dates in 'Created' or 'Resolved' columns\n",
"df = df.dropna(subset=['Created', 'Resolved'])\n",
"\n",
"# Convert 'Created' and 'Resolved' columns to datetime objects\n",
"df['Created'] = pd.to_datetime(df['Created'])\n",
"df['Resolved'] = pd.to_datetime(df['Resolved'])\n",
"\n",
"# Calculate the time taken for each task in seconds\n",
"df['TimeTaken'] = (df['Resolved'] - df['Created']).dt.total_seconds()\n",
"\n",
"# Create a box plot to compare the time taken for different task types\n",
"plt.figure(figsize=(10, 6))\n",
"sns.boxplot(x='Issue Type', y='TimeTaken', data=df)\n",
"plt.title('Comparison of Time Taken for Different Task Types')\n",
"plt.xlabel('Issue Type')\n",
"plt.ylabel('Time Taken (seconds)')\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "laww-gpt",
"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.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment