From eff5dc062ce1b3576532ca0bfe280428dec1a3c5 Mon Sep 17 00:00:00 2001 From: Lokendra-888 Date: Thu, 18 Dec 2025 10:36:01 +0530 Subject: [PATCH 1/3] Add Assignment 1 notebooks --- ...ssignmen1_RathoreLokendra_Matplotlib.ipynb | 474 +++ .../Assignment1_RathoreLokendra_Numpy_.ipynb | 607 ++++ .../Assignment1_RathoreLokendra_Pandas.ipynb | 3134 +++++++++++++++++ .../assignment2/Assignment2_mithil.ipynb | 160 - 4 files changed, 4215 insertions(+), 160 deletions(-) create mode 100644 Assignment 1/Assignment1_RathoreLokendra/Assignmen1_RathoreLokendra_Matplotlib.ipynb create mode 100644 Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Numpy_.ipynb create mode 100644 Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Pandas.ipynb delete mode 100644 Assignment 2/Assignment2_Mithil/assignment2/Assignment2_mithil.ipynb diff --git a/Assignment 1/Assignment1_RathoreLokendra/Assignmen1_RathoreLokendra_Matplotlib.ipynb b/Assignment 1/Assignment1_RathoreLokendra/Assignmen1_RathoreLokendra_Matplotlib.ipynb new file mode 100644 index 00000000..3e42ce8c --- /dev/null +++ b/Assignment 1/Assignment1_RathoreLokendra/Assignmen1_RathoreLokendra_Matplotlib.ipynb @@ -0,0 +1,474 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "_sfWZU_eST2O" + }, + "source": [ + "**NOTE: ALL THE COMMANDS FOR PLOTTING A FIGURE SHOULD ALL GO IN THE SAME CELL. SEPARATING THEM OUT INTO MULTIPLE CELLS MAY CAUSE NOTHING TO SHOW UP.**\n", + "\n", + "# Exercises\n", + "\n", + "Follow the instructions to recreate the plots using this data:\n", + "\n", + "## Data" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "id": "l0eZ10dLST2X" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "x = np.arange(0,100)\n", + "y = x*2\n", + "z = x**2" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "veY4-lsGST2c" + }, + "source": [ + "**Import matplotlib.pyplot as plt**" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "tAOmEcNKST2e" + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5j_39gsVST2f" + }, + "source": [ + "## Exercise 1\n", + "\n", + "**Follow along with these steps**\n", + "* Create a figure object called fig using plt.figure()\n", + "* Use add_axes to add an axis to the figure canvas at [0,0,1,1]. Call this new axis ax.\n", + "* Plot (x,y) on that axes and set the labels and titles to match the plot below:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "id": "03Ts4r5SST2g", + "outputId": "0e41571f-13f0-4984-b80d-c053f26e9474", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 582 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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gsMy59Se1q5dawwcONBwuVxG//79jd/+9rcB+30+n/Hoo48a6enphsvlMkaPHm1UV1ebNFq0xOPxGA888IDRu3dv49xzzzX69u1r/PznPze8Xq//GM6p9W3atKnZz9EZM2YYhtG6c3j06FFj2rRpxnnnnWckJSUZd955p3H8+PGwjDfGML617A0AAAAAPzrLAAAAQAiEZQAAACAEwjIAAAAQAmEZAAAACIGwDAAAAIRAWAYAAABCICwDAAAAIRCWAQAAgBAIywAAAEAIhGUAAAAgBMIyAAAAEAJhGQCizOeff66MjAz96le/8m/bunWr4uPjtWHDBhNHBgDWE2MYhmH2IAAAkfWf//mfys/P19atW3XJJZdoyJAhuummmzR//nyzhwYAlkJYBoAoVVBQoDfeeEPDhw/Xrl27VFlZKZfLZfawAMBSCMsAEKW++uorDRw4UAcOHNCOHTuUk5Nj9pAAwHLoLANAlNq7d68OHjwon8+nffv2mT0cALAkriwDQBRqbGzUFVdcoSFDhuiSSy7RCy+8oF27diktLc3soQGApRCWASAKPfjgg/rzn/+sd999V+edd56uvvpqud1urVu3zuyhAYClUMMAgChTVlamF154QX/84x+VlJSk2NhY/fGPf9Sbb76pxYsXmz08ALAUriwDAAAAIXBlGQAAAAiBsAwAAACEQFgGAAAAQiAsAwAAACEQlgEAAIAQCMsAAABACIRlAAAAIATCMgAAABACYRkAAAAIgbAMAAAAhEBYBgAAAEL4PyE0/9p/e6n4AAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "axes = fig.add_axes([0,0,1,1])\n", + "x = np.arange(0,100)\n", + "y = x*2\n", + "axes.plot(x,y)\n", + "axes.set_xlabel('x')\n", + "axes.set_ylabel('y')\n", + "axes.set_title('title')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "I8mFrIGwST2i" + }, + "source": [ + "## Exercise 2\n", + "**Create a figure object and put two axes on it, ax1 and ax2. Located at [0,0,1,1] and [0.2,0.5,.2,.2] respectively.**" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "id": "D4nUfU26ST2k", + "outputId": "baff9e3e-2997-4209-d7bf-709dd78420b5", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 546 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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CcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASMKQwnf58uUxceLEKCkpierq6ti6dev7rn/kkUfivPPOi5KSkrjoootiw4YNQxoWAACGKu/wXbt2bTQ0NERjY2Ns3749qqqqoq6uLvbs2TPo+i1btsSVV14Z11xzTezYsSNmz54ds2fPjmefffaIhwcAgMNVkGVZls8J1dXVcckll8R9990XERF9fX1RWVkZ119/fSxatOig9fX19dHd3R2PP/54/7FLL700Jk2aFCtWrDis1+zq6oqysrLo7OyM0tLSfMYFAOA4NBz9d0I+i3t6emLbtm2xePHi/mOFhYVRW1sbLS0tg57T0tISDQ0NA47V1dXFunXrDvk6Bw4ciAMHDvR/3dnZGRHv/AsAAODD793uy/Me7fvKK3z37dsXvb29UV5ePuB4eXl5PP/884Oe097ePuj69vb2Q75OU1NT3HHHHQcdr6yszGdcAACOc3/605+irKzsqDxXXuE7UhYvXjzgLvH+/fvjjDPOiLa2tqN24Rw/urq6orKyMnbv3u2tLgmy/2mz/2mz/2nr7OyM008/PU499dSj9px5he/YsWOjqKgoOjo6Bhzv6OiIioqKQc+pqKjIa31ERC6Xi1wud9DxsrIy/+EnrLS01P4nzP6nzf6nzf6nrbDw6H36bl7PVFxcHFOmTInm5ub+Y319fdHc3Bw1NTWDnlNTUzNgfUTEpk2bDrkeAACGQ95vdWhoaIi5c+fG1KlTY9q0abFs2bLo7u6OefPmRUTEnDlzYsKECdHU1BQRETfccEPMmDEjli5dGjNnzow1a9bE008/HQ888MDRvRIAAHgfeYdvfX197N27N5YsWRLt7e0xadKk2LhxY/83sLW1tQ24JT19+vR46KGH4rbbbotbbrklPvnJT8a6deviwgsvPOzXzOVy0djYOOjbH/jws/9ps/9ps/9ps/9pG479z/tzfAEA4Hh09N4tDAAAxzDhCwBAEoQvAABJEL4AACThmAnf5cuXx8SJE6OkpCSqq6tj69at77v+kUceifPOOy9KSkrioosuig0bNozQpAyHfPZ/5cqVcfnll8eYMWNizJgxUVtb+4H/vXBsy/fX/7vWrFkTBQUFMXv27OEdkGGV7/7v378/FixYEOPGjYtcLhef+tSn/D/gOJbv/i9btizOPffcOOmkk6KysjIWLlwYf/nLX0ZoWo6WJ598MmbNmhXjx4+PgoKCWLdu3Qees3nz5rj44osjl8vFOeecE6tXr87/hbNjwJo1a7Li4uJs1apV2W9+85vs2muvzT760Y9mHR0dg67/9a9/nRUVFWXf/va3s9/+9rfZbbfdlp144onZM888M8KTczTku/9XXXVVtnz58mzHjh3Zc889l/3DP/xDVlZWlv3hD38Y4ck5GvLd/3ft2rUrmzBhQnb55ZdnX/rSl0ZmWI66fPf/wIED2dSpU7MvfOEL2VNPPZXt2rUr27x5c9ba2jrCk3M05Lv/P/7xj7NcLpf9+Mc/znbt2pU98cQT2bhx47KFCxeO8OQcqQ0bNmS33npr9uijj2YRkT322GPvu37nzp3ZySefnDU0NGS//e1vs+9+97tZUVFRtnHjxrxe95gI32nTpmULFizo/7q3tzcbP3581tTUNOj6L3/5y9nMmTMHHKuurs7+6Z/+aVjnZHjku//v9fbbb2ennHJK9sMf/nC4RmQYDWX/33777Wz69OnZgw8+mM2dO1f4Hsfy3f/vfe972VlnnZX19PSM1IgMo3z3f8GCBdnf/M3fDDjW0NCQXXbZZcM6J8PrcML3pptuyj796U8POFZfX5/V1dXl9Vqj/laHnp6e2LZtW9TW1vYfKywsjNra2mhpaRn0nJaWlgHrIyLq6uoOuZ5j11D2/73eeOONeOutt+LUU08drjEZJkPd/zvvvDNOO+20uOaaa0ZiTIbJUPb/Zz/7WdTU1MSCBQuivLw8Lrzwwrj77rujt7d3pMbmKBnK/k+fPj22bdvW/3aInTt3xoYNG+ILX/jCiMzM6Dla7Zf3T2472vbt2xe9vb39P/ntXeXl5fH8888Pek57e/ug69vb24dtTobHUPb/vW6++eYYP378Qb8gOPYNZf+feuqp+MEPfhCtra0jMCHDaSj7v3PnzvjlL38ZX/3qV2PDhg3x4osvxje+8Y146623orGxcSTG5igZyv5fddVVsW/fvvjsZz8bWZbF22+/Hdddd13ccsstIzEyo+hQ7dfV1RVvvvlmnHTSSYf1PKN+xxeOxD333BNr1qyJxx57LEpKSkZ7HIbZa6+9FldffXWsXLkyxo4dO9rjMAr6+vritNNOiwceeCCmTJkS9fX1ceutt8aKFStGezRGwObNm+Puu++O+++/P7Zv3x6PPvporF+/Pu66667RHo3jxKjf8R07dmwUFRVFR0fHgOMdHR1RUVEx6DkVFRV5refYNZT9f9d3vvOduOeee+IXv/hFfOYznxnOMRkm+e7/73//+3jppZdi1qxZ/cf6+voiIuKEE06IF154Ic4+++zhHZqjZii//seNGxcnnnhiFBUV9R87//zzo729PXp6eqK4uHhYZ+boGcr+33777XH11VfH/PnzIyLioosuiu7u7vja174Wt956axQWup/3YXWo9istLT3su70Rx8Ad3+Li4pgyZUo0Nzf3H+vr64vm5uaoqakZ9JyampoB6yMiNm3adMj1HLuGsv8REd/+9rfjrrvuio0bN8bUqVNHYlSGQb77f95558UzzzwTra2t/Y8vfvGLccUVV0Rra2tUVlaO5PgcoaH8+r/sssvixRdf7P8DT0TE7373uxg3bpzoPc4MZf/feOONg+L23T8EvfM9UnxYHbX2y+/77obHmjVrslwul61evTr77W9/m33ta1/LPvrRj2bt7e1ZlmXZ1VdfnS1atKh//a9//evshBNOyL7zne9kzz33XNbY2OjjzI5j+e7/PffckxUXF2c/+clPsldeeaX/8dprr43WJXAE8t3/9/KpDse3fPe/ra0tO+WUU7J//ud/zl544YXs8ccfz0477bTsW9/61mhdAkcg3/1vbGzMTjnllOx///d/s507d2Y///nPs7PPPjv78pe/PFqXwBC99tpr2Y4dO7IdO3ZkEZHde++92Y4dO7KXX345y7IsW7RoUXb11Vf3r3/348z+9V//NXvuueey5cuXH78fZ5ZlWfbd7343O/3007Pi4uJs2rRp2f/93//1/7MZM2Zkc+fOHbD+4Ycfzj71qU9lxcXF2ac//els/fr1IzwxR1M++3/GGWdkEXHQo7GxceQH56jI99f//0/4Hv/y3f8tW7Zk1dXVWS6Xy84666zs3/7t37K33357hKfmaMln/996663sm9/8Znb22WdnJSUlWWVlZfaNb3wj+/Of/zzyg3NEfvWrXw36//J393vu3LnZjBkzDjpn0qRJWXFxcXbWWWdl//3f/5336xZkmb8bAADgw2/U3+MLAAAjQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASfh/7bTpWMlLc9UAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "ax1 = fig.add_axes([0,0,1,1])\n", + "ax2 = fig.add_axes([0.2,0.5,0.2,0.2])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SK8p_A2NST2l" + }, + "source": [ + "**Now plot (x,y) on both axes. And call your figure object to show it.**" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "id": "m_2gVMryST2m", + "outputId": "73f7e4f0-8d81-49ed-b1c2-0aa5be7c7a62", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 540 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "ax1 = fig.add_axes([0,0,1,1])\n", + "ax2 = fig.add_axes([0.2,0.5,0.2,0.2])\n", + "x = np.arange(0,100)\n", + "y = x*2\n", + "ax1.plot(x,y,color = 'red')\n", + "ax2.plot(x,y,color = 'red')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hYaQZfbFST2n" + }, + "source": [ + "## Exercise 3\n", + "\n", + "**Create the plot below by adding two axes to a figure object at [0,0,1,1] and [0.2,0.5,.4,.4]**" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "id": "BuiYx0xbST2o", + "outputId": "e7378c0c-20a4-470d-b77e-5906a68d6bc1", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 546 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "ax1 = fig.add_axes([0,0,1,1])\n", + "ax2 = fig.add_axes([0.2,0.5,0.4,0.4])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SeRSiZDGST2o" + }, + "source": [ + "**Now use x,y, and z arrays to recreate the plot below. Notice the xlimits and y limits on the inserted plot:**" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "jhy7t5AKST2p", + "outputId": "6b5916fb-e2c0-48ac-d5c4-9e0e890f7902", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 565 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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i/6MKyiq65fMsJePPvpIiYmJGjt2rFasWKH27dsrNzfXmZdwRQq7/stx4MAB5ebmusX9v1wtWrRwDBOZOHGidu7cqdtuu01HjhwpomqL3sVc/4EDB/TCCy+oT58+5z1PSfv5P3DAPDi6datUvboJ6eHhdlcFeKbC//kPQJIUFxenzZs3u+RY2uJQlNfftWtXx3bDhg3VqFEjXXPNNVq+fLnatGlzxed3Bu5/0V1/+/btHduNGjVSixYtVLNmTc2ZM+eC47vtcqHrz8zMVIcOHVS/fn2NGjWqeItzksOHzRSMmzZJ1aqZkF67tt1VAZ6LHnXgPPr3768FCxbo22+/VfXq1R37Q0NDdfLkyXNmukhLS1NoaGih58rff/bMKH/3GbsV5fUX5uqrr1blypX166+/FlXJRep81385KleuLB8fH7e4/0UlKChI1113XYm9/0eOHFG7du1UoUIFzZs3T6X+ZmnOkvLzn55uFjPauFGqWtU8OHrttXZXBXg2gjpwFsuy1L9/f82bN0/Lli1T7bO6k5o2bapSpUopMTHRsS8lJUW7d+9WZGRkoeesXbu2QkNDC3wmMzNTa9asOe9n7OKM6y/MH3/8oYMHD6patWpFVntRuND1Xw4/Pz81bdq0wJ9ZXl6eEhMTS9z9LypHjx7Vjh07SuT9z8zMVNu2beXn56cvv/xSpUuX/ttzloSf/8xMqV07ad06qVIl6ZtvpHr17K4KALO+FBFmfXEfffv2tQIDA63ly5db+/btc7yysrIcbZ544gkrPDzcWrZsmbV+/XorMjLSioyMLHCeunXrWp999pnj/ZgxY6ygoCDriy++sH766SerY8eOVu3ata3jx48X27VdDGdc/5EjR6ynn37aSkpKsnbu3Gl988031o033mhde+211okTJ4r1+i7kYq5/37591g8//GBNmTLFkmStXLnS+uGHH6yDBw862rRu3dqaMGGC4/2sWbMsf39/a9q0adbPP/9s9enTxwoKCrJSU1OL9fouxFnX/9RTT1nLly+3du7caa1atcqKioqyKleubO3fv79Yr+9CLnT9GRkZVosWLayGDRtav/76a4E2p06dcpynJP38Z2ZaVmSkmd0lONiyNm60uyKg5HB2/iOoFxGCuvuQVOhr6tSpjjbHjx+3+vXrZ1WsWNEqW7asdd9991n79u075zxnfiYvL88aPny4FRISYvn7+1tt2rSxUlJSiumqLp4zrj8rK8tq27atVaVKFatUqVJWzZo1rccee8zlQqplXdz1jxw58oJtatasaY0cObLAuSdMmGCFh4dbfn5+VvPmza3Vq1cXz0VdAmddf5cuXaxq1apZfn5+1lVXXWV16dLF+vXXX4vvwi7Sha4/f0rKwl47d+4scJ6S8POfmWlZt9xiQnrFipa1YYPdFQEli7Pzn5dlWVYRdtB7rMzMTAUGBjqm6QIAwJUdOya1by/9979mpdFvvpGaNrW7KqBkcXb+Y4w6AAAeJitLuuceE9IDA6WvvyakA66IoA4AgAfJypLuvVdavlwKCJCWLJFuusnuqgAUhqAOAICHyA/py5ZJ5ctLixdLLVrYXRWA8yGoAwDgAc4O6UuWSC4yOySA8yCoAwDg5o4dM2PSly2TKlQwIf3mm+2uCsCFENQBAHBjx46ZnvRvvzUhffFiQjpQUvjaXQAAAHCO/J705ctP96Qz3AUoOehRBwDADRHSgZKPHnUAANzMkSMmpK9caUL6119LLVvaXRWAS0WPOgBchtzcXN18883q3Llzgf0ZGRmqUaOGnnvuOZsqg6fLzDQrjq5caeZJJ6QDJRdBHQAug4+Pj6ZNm6bFixdrxowZjv0DBgxQcHCwRo4caWN18FQZGVJ0tLRqlRQUJH3zDSEdKMkY+gIAl+m6667TmDFjNGDAALVu3Vpr167VrFmztG7dOvn5+dldHjzM4cMmpK9bJwUHS0uXSjfeaHdVAK6El2VZlt1FuIPMzEwFBgYqIyNDAQEBdpcDoJhYlqXWrVvLx8dHmzZt0oABA/T888/bXRY8zMGDUtu20oYNUqVKUmKi1Lix3VUB7s/Z+Y+gXkQI6oDn2rZtm+rVq6eGDRtqw4YN8vXll5UoPn/9Jd11l/Tjj1KVKiakN2xod1WAZ3B2/mOMOgBcoQ8//FBly5bVzp079ccff9hdDjxIWprUurUJ6SEhZipGQjrgPgjqAHAFvv/+e73xxhtasGCBmjdvrt69e4tfVKI4/PmndPvt0ubNUrVqJqTXr293VQCKEkEdAC5TVlaWevXqpb59++rOO+/UBx98oLVr12rSpEl2lwY3t2uX1KqVlJIihYebqRgjIuyuCkBRI6gDwGWKj4+XZVkaM2aMJKlWrVp69dVX9eyzz+r333+3tzi4rR07TEj/7Tfp6qtNSK9Tx+6qADgDD5MWER4mBTzLihUr1KZNGy1fvly33nprgWPR0dE6deqUvvnmG3l5edlUIdzRtm1SmzbS3r3SdddJy5ZJV11ld1WA52LWlxKCoA4AcKbNm01I379fuv56s5hRaKjdVQGejVlfAADwcBs2SHfcYUJ6kybmwVFCOuD+COoAALiwVaukO+80ixrddJMZ7lK5st1VASgOJSqojxkzRl5eXho0aJBj34kTJxQXF6dKlSqpfPnyiomJUVpaWoHP7d69Wx06dFDZsmVVtWpVPfPMMzp16lSBNsuXL9eNN94of39/1alTR9OmTSuGKwIA4PwSE82Ko5mZ5gHSb76RKla0uyoAxaXEBPV169Zp8uTJatSoUYH9gwcP1vz58zV37lytWLFCe/fuVefOnR3Hc3Nz1aFDB508eVLff/+9pk+frmnTpmnEiBGONjt37lSHDh105513auPGjRo0aJAeffRRLVmypNiuDwCAM82fL3XoIGVlSdHR0qJFEo9AAZ6lRDxMevToUd14441699139eKLL6pJkyZ68803lZGRoSpVqmjmzJm6//77JZ1eyjspKUktW7bUokWLdM8992jv3r0KCQmRJE2aNElDhw7VX3/9JT8/Pw0dOlQLFy7U5s2bHd+za9euSk9P1+LFiy+qRh4mBQAUldmzpR49pFOnpPvukz79VPL3t7sqAGfjYVJJcXFx6tChg6KiogrsT05OVk5OToH9ERERCg8PV1JSkiQpKSlJDRs2dIR0yUydlpmZqS1btjjanH3u6OhoxzkKk52drczMzAIvAACu1NSpUvfuJqTHxkpz5hDSAU/l8kF91qxZ2rBhgxISEs45lpqaKj8/PwUFBRXYHxISotTUVEebM0N6/vH8Y3/XJjMzU8ePHy+0roSEBAUGBjpeNWrUuKzrAwAg34QJ0iOPSHl50mOPSdOnS76+dlcFwC4uHdT37NmjgQMHasaMGSpdurTd5RQQHx+vjIwMx2vPnj12lwQAKKEsS3rxRenJJ837wYOlyZMlHx976wJgL5cO6snJydq/f79uvPFG+fr6ytfXVytWrND48ePl6+urkJAQnTx5Uunp6QU+l5aWptD/TTAbGhp6ziww+e8v1CYgIEBlypQptDZ/f38FBAQUeAEAcKksS3rmGWn4cPN+1CjptdckFrUF4NJBvU2bNtq0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4316erpq1qyp3bt3O+VGwbVlZmaqRo0a2rNnj1N+9QXXxv33bNx/z8b992wZGRkKDw9XsJNm1CCo/0/lypXl4+OjtLS0AvvT0tIUGhp6Tnt/f3/5FzKgOzAwkB9UDxYQEMD992Dcf8/G/fds3H/P5u3t7ZzzOuWsJZCfn5+aNm2qxMREx768vDwlJiYqMjLSxsoAAADgiehRP8OQIUPUs2dPNWvWTM2bN9ebb76pY8eO6eGHH7a7NAAAAHgYgvoZunTpor/++ksjRoxQamqqmjRposWLF5/zgGlh/P39NXLkyEKHw8D9cf89G/ffs3H/PRv337M5+/4zjzoAAADgghijDgAAALgggjoAAADgggjqAAAAgAsiqAMAAAAuiKBeRN555x3VqlVLpUuXVosWLbR27Vq7S0IRS0hI0E033aQKFSqoatWq6tSpk1JSUgq0OXHihOLi4lSpUiWVL19eMTEx5yyiBfcwZswYeXl5adCgQY593H/39ueff6pHjx6qVKmSypQpo4YNG2r9+vWO45ZlacSIEapWrZrKlCmjqKgo/fLLLzZWjKKSm5ur4cOHq3bt2ipTpoyuueYavfDCCzpzPg7uv3tZuXKl7r33XoWFhcnLy0uff/55geMXc78PHTqk2NhYBQQEKCgoSL1799bRo0cvqQ6CehGYPXu2hgwZopEjR2rDhg1q3LixoqOjtX//frtLQxFasWKF4uLitHr1ai1dulQ5OTlq27atjh075mgzePBgzZ8/X3PnztWKFSu0d+9ede7c2caq4Qzr1q3T5MmT1ahRowL7uf/u6/Dhw7rllltUqlQpLVq0SD///LNee+01VaxY0dFm3LhxGj9+vCZNmqQ1a9aoXLlyio6O1okTJ2ysHEVh7Nixmjhxot5++21t3bpVY8eO1bhx4zRhwgRHG+6/ezl27JgaN26sd955p9DjF3O/Y2NjtWXLFi1dulQLFizQypUr1adPn0srxMIVa968uRUXF+d4n5uba4WFhVkJCQk2VgVn279/vyXJWrFihWVZlpWenm6VKlXKmjt3rqPN1q1bLUlWUlKSXWWiiB05csS69tprraVLl1q33367NXDgQMuyuP/ubujQodatt9563uN5eXlWaGio9corrzj2paenW/7+/tann35aHCXCiTp06GA98sgjBfZ17tzZio2NtSyL++/uJFnz5s1zvL+Y+/3zzz9bkqx169Y52ixatMjy8vKy/vzzz4v+3vSoX6GTJ08qOTlZUVFRjn3e3t6KiopSUlKSjZXB2TIyMiRJwcHBkqTk5GTl5OQU+LsQERGh8PBw/i64kbi4OHXo0KHAfZa4/+7uyy+/VLNmzfTAAw+oatWquuGGGzRlyhTH8Z07dyo1NbXA/Q8MDFSLFi24/27g5ptvVmJiorZv3y5J+vHHH/Xdd9+pffv2krj/nuZi7ndSUpKCgoLUrFkzR5uoqCh5e3trzZo1F/29WJn0Ch04cEC5ubnnrF4aEhKibdu22VQVnC0vL0+DBg3SLbfcogYNGkiSUlNT5efnp6CgoAJtQ0JClJqaakOVKGqzZs3Shg0btG7dunOOcf/d22+//aaJEydqyJAh+te//qV169bpySeflJ+fn3r27Om4x4X9v4D7X/INGzZMmZmZioiIkI+Pj3Jzc/XSSy8pNjZWkrj/HuZi7ndqaqqqVq1a4Livr6+Cg4Mv6e8EQR24DHFxcdq8ebO+++47u0tBMdmzZ48GDhyopUuXqnTp0naXg2KWl5enZs2a6eWXX5Yk3XDDDdq8ebMmTZqknj172lwdnG3OnDmaMWOGZs6cqeuvv14bN27UoEGDFBYWxv2HUzH05QpVrlxZPj4+58zskJaWptDQUJuqgjP1799fCxYs0Lfffqvq1as79oeGhurkyZNKT08v0J6/C+4hOTlZ+/fv14033ihfX1/5+vpqxYoVGj9+vHx9fRUSEsL9d2PVqlVT/fr1C+yrV6+edu/eLUmOe8z/C9zTM888o2HDhqlr165q2LChHnzwQQ0ePFgJCQmSuP+e5mLud2ho6DmTipw6dUqHDh26pL8TBPUr5Ofnp6ZNmyoxMdGxLy8vT4mJiYqMjLSxMhQ1y7LUv39/zZs3T8uWLVPt2rULHG/atKlKlSpV4O9CSkqKdu/ezd8FN9CmTRtt2rRJGzdudLyaNWum2NhYxzb3333dcsst50zHun37dtWsWVOSVLt2bYWGhha4/5mZmVqzZg333w1kZWXJ27tgZPLx8VFeXp4k7r+nuZj7HRkZqfT0dCUnJzvaLFu2THl5eWrRosXFf7MrfhQW1qxZsyx/f39r2rRp1s8//2z16dPHCgoKslJTU+0uDUWob9++VmBgoLV8+XJr3759jldWVpajzRNPPGGFh4dby5Yts9avX29FRkZakZGRNlYNZzpz1hfL4v67s7Vr11q+vr7WSy+9ZP3yyy/WjBkzrLJly1qffPKJo82YMWOsoKAg64svvrB++uknq2PHjlbt2rWt48eP21g5ikLPnj2tq666ylqwYIG1c+dO67PPPrMqV65sPfvss4423H/3cuTIEeuHH36wfvjhB0uS9frrr1s//PCDtWvXLsuyLu5+t2vXzrrhhhusNWvWWN9995117bXXWt26dbukOgjqRWTChAlWeHi45efnZzVv3txavXq13SWhiEkq9DV16lRHm+PHj1v9+vWzKlasaJUtW9a67777rH379tlXNJzq7KDO/Xdv8+fPtxo0aGD5+/tbERER1nvvvVfgeF5enjV8+HArJCTE8vf3t9q0aWOlpKTYVC2KUmZmpjVw4EArPDzcKl26tHX11Vdbzz33nJWdne1ow/13L99++22h/8/v2bOnZVkXd78PHjxodevWzSpfvrwVEBBgPfzww9aRI0cuqQ4vyzpjWS0AAAAALoEx6gAAAIALIqgDAAAALoigDgAAALgggjoAAADgggjqAAAAgAsiqAMAAAAuiKAOAAAAuCCCOgAAAOCCCOoAAACACyKoAwAuWW5urm6++WZ17ty5wP6MjAzVqFFDzz33nE2VAYD78LIsy7K7CABAybN9+3Y1adJEU6ZMUWxsrCTpoYce0o8//qh169bJz8/P5goBoGQjqAMALtv48eM1atQobdmyRWvXrtUDDzygdevWqXHjxnaXBgAlHkEdAHDZLMtS69at5ePjo02bNmnAgAF6/vnn7S4LANwCQR0AcEW2bdumevXqqWHDhtqwYYN8fX3tLgkA3AIPkwIArsiHH36osmXLaufOnfrjjz/sLgcA3AY96gCAy/b999/r9ttv19dff60XX3xRkvTNN9/Iy8vL5soAoOSjRx0AcFmysrLUq1cv9e3bV3feeac++OADrV27VpMmTbK7NABwC/SoAwAuy8CBA/XVV1/pxx9/VNmyZSVJkydP1tNPP61NmzapVq1a9hYIACUcQR0AcMlWrFihNm3aaPny5br11lsLHIuOjtapU6cYAgMAV4igDgAAALggxqgDAAAALoigDgAAALgggjoAAADgggjqAAAAgAsiqAMAAAAuiKAOAAAAuCCCOgAAAOCCCOoAAACACyKoAwAAAC6IoA4AAAC4III6AAAA4IL+H1RZyjI/wxAHAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "\n", + "x1 = np.arange(0,100)\n", + "z = x1**2\n", + "x2 = np.arange(20,22,0.25)\n", + "y = x2*2\n", + "ax1 = fig.add_axes([0,0,1,1])\n", + "ax2 = fig.add_axes([0.2,0.5,0.4,0.4])\n", + "\n", + "\n", + "ax1.plot(x1,z,color='blue')\n", + "ax2.plot(x2,y,color = 'blue')\n", + "ax1.set_xlabel(\"X\")\n", + "ax1.set_ylabel(\"Z\")\n", + "ax1.set_xlim(0,100)\n", + "ax1.set_ylim(0,10000)\n", + "\n", + "ax2.set_xlabel(\"X\")\n", + "ax2.set_ylabel(\"Y\")\n", + "ax2.set_xlim(20,22)\n", + "ax2.set_ylim(30,50)\n", + "ax2.set_title(\"zoom\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TM6XOILJST2q" + }, + "source": [ + "## Exercise 4\n", + "\n", + "**Use plt.subplots(nrows=1, ncols=2) to create the plot below.**" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "id": "osk0Jco2ST2r", + "outputId": "cd08c952-59f3-42af-e2c9-83e35dc432bc", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 452 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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ampqSs8880y67777UkVFRdq+ffvoDJzsjfE685vsjZGfe6x3x1jtjXERLvPmzUvLly/v/7i3tzdNmzYttbS0DHr+pz71qfSJT3xiwLH6+vr0X//1XyM65/+v2JmPd+zYsXTuueemH/7whyM14gmGM/OxY8fS5Zdfnr7//e+npUuXjvoCKnbm7373u2nmzJmpp6dntEY8QbEzL1++PH30ox8dcKypqSldccUVIzrnUE5mAX35y19OH/jABwYcW7RoUZo/f/4ITjaQvTE67I3Rk/PuGM29MeYvFfX09MTu3bujsbGx/1h5eXk0NjbGzp07B71m586dA86PiJg/f/6Q55facGY+3muvvRZvvPFGSd8x860Md+avfe1rMXny5LjhhhtGY8wBhjPzz3/+82hoaIjly5dHbW1tXHzxxbF27dro7e0dtzNffvnlsXv37v6nhPfv3x/btm2La665ZlRmHo4cH4M5znw8e+Pt5bg3Is6M3VGqx+CYvzv0aLzdfakNZ+bj3XbbbTFt2rQT/iOOlOHM/OSTT8aDDz4YbW1tozDhiYYz8/79++M3v/lNfPrTn45t27bFCy+8EJ/73OfijTfeiObm5nE58/XXXx+HDh2Kj3zkI5FSimPHjsUtt9wSX/nKV0Z83uEa6jHY1dUV//jHP+Lss88e0fu3N+yNoeS4NyLOjN1Rqr0x5s+4nInWrVsXmzdvjsceeyyqqqrGepxBHTlyJBYvXhybNm2KSZMmjfU4J62vry8mT54c3/ve92LOnDmxaNGiWL16dWzcuHGsRxvSjh07Yu3atfHAAw/Enj174tFHH42tW7fGXXfdNdajMY7YGyMnx70RcebujjF/xiXHt7sfzsxvuueee2LdunXx61//Oi699NKRHHOAYmd+8cUX4+WXX44FCxb0H+vr64uIiAkTJsRzzz0XF1xwwbiaOSJi6tSpcdZZZ0VFRUX/sfe9733R3t4ePT09UVlZOe5mvuOOO2Lx4sVx4403RkTEJZdcEkePHo2bb745Vq9eHeXl4+/7i6Eeg9XV1SP+bEuEvTFa7I3R2RsRZ8buKNXeGPOvKse3ux/OzBERd999d9x1112xffv2mDt37miM2q/YmS+66KJ4+umno62trf927bXXxtVXXx1tbW1RV1c37maOiLjiiivihRde6F+WERHPP/98TJ06dVSWz3Bmfu21105YMG8u0DRO30osx8dgjjNH2BsjPXPE2O+NiDNjd5TsMVjUj/KOkNF+u/uxmHndunWpsrIyPfLII+kvf/lL/+3IkSPjdubjjcVvBxQ784EDB9K5556b/vu//zs999xz6Re/+EWaPHly+vrXvz5uZ25ubk7nnntu+p//+Z+0f//+9Mtf/jJdcMEF6VOf+tSozXzkyJG0d+/etHfv3hQR6d5770179+5Nf/zjH1NKKa1cuTItXry4//w3f63xS1/6Utq3b1/asGHDmPw6tL0x/mY+nr0xcnOP9e4Yq70xLsIlpTzf7r6Ymd/97neniDjh1tzcPG5nPt5YLKCUip/5qaeeSvX19alQKKSZM2emb3zjG+nYsWPjduY33ngjffWrX00XXHBBqqqqSnV1delzn/tc+tvf/jZq8z7xxBOD/v/55pxLly5NV1111QnXzJ49O1VWVqaZM2emH/zgB6M275vsjfE38/HsjeLktDvGam+UpTQOn08CABjEmP+MCwDAyRIuAEA2hAsAkA3hAgBkQ7gAANkQLgBANoQLAJAN4QIAZEO4AADZEC4AQDaECwCQjf8DOu0CiLveMb4AAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "x = np.arange(0,1,0.2)\n", + "y = x\n", + "plt.subplots(nrows=1,ncols=2)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QWwItNZVST2r" + }, + "source": [ + "**Now plot (x,y) and (x,z) on the axes. Play around with the linewidth and style**" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "id": "ZoEMYyLOST2r", + "outputId": "f73f09b1-1ce3-41fc-9ab2-c256318d419c", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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9PREhw4dsGnTJstjZWVl2LRpEyIiIlREIiInx+MGESkbHkpISMCAAQPQsWNH3H333XjvvfdQUFCA5557TlUkInJyPG4QuTdlRUvfvn3x559/YsKECTAajbjzzjuxfv36K06yIyIqx+MGkXtTNk9LVaiYH4KIrGnxc6jFzESupKqfQc5cQkRERJrAooWIiIg0gUULERERaQKLFiIiItIEFi1ERESkCSxaiIiISBNYtBAREZEmsGghIiIiTWDRQkRERJqgbBr/qiifxNdsNitOQuS+yj9/WppUm8cOIrWqetzQZNFy9uxZAEBoaKjiJER09uxZ+Pn5qY5xQ3jsIHION3vc0OTaQ2VlZTh58iR8fHyg0+mu2s5sNiM0NBTHjx93iXVG+H6cmyu9nxt5L0IInD17FiEhIfDw0MZIM48d2n8/rvReAPd7P1U9bmiyp8XDwwMNGjS44fa+vr4u8R9DOb4f5+ZK7+d670UrPSzleOxwnffjSu8FcK/3U5Xjhja+HhEREZHbY9FCREREmuDSRYter8cbb7wBvV6vOopN8P04N1d6P670Xm6Gq71/V3o/rvReAL6fytLkibhERETkfly6p4WIiIhcB4sWIiIi0gQWLURERKQJLFqIiIhIE1y6aJk7dy5uvfVWeHl5ITw8HD/++KPqSNeVlJSEu+66Cz4+PggMDETv3r2RnZ1t1ebBBx+ETqezur344ouKEl/bxIkTr8javHlzy/4LFy4gLi4OdevWRe3atREdHY2cnByFia/t1ltvveL96HQ6xMXFAXD+v82WLVvQq1cvhISEQKfTYdWqVVb7hRCYMGECgoOD4e3tjcjISBw4cMCqTW5uLmJiYuDr6wt/f3/ExsYiPz/fge/CvrR43AB47OCxw36c6bjhskXL559/joSEBLzxxhv46aef0LZtW0RFReH06dOqo13T5s2bERcXhx07diA1NRXFxcXo1q0bCgoKrNoNHjwYp06dstySk5MVJb6+O+64wyrr1q1bLftGjRqFNWvWYPny5di8eTNOnjyJPn36KEx7bTt37rR6L6mpqQCAJ554wtLGmf82BQUFaNu2LebOnVvh/uTkZMyaNQsLFixARkYGatWqhaioKFy4cMHSJiYmBvv27UNqairWrl2LLVu2YMiQIY56C3al1eMGwGMHjx3241THDeGi7r77bhEXF2e5X1pa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\n" + }, + "metadata": {} + } + ], + "source": [ + "from matplotlib.lines import lineStyles\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure()\n", + "x = np.arange(0,100)\n", + "y = x*2\n", + "plt.subplot(1,2,1)\n", + "plt.plot(x,y,color = 'blue',linestyle = 'dashed')\n", + "z = x**2\n", + "plt.subplot(1,2,2)\n", + "plt.plot(x,z,color = \"red\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hV08IzIvST2s" + }, + "source": [ + "**See if you can resize the plot by adding the figsize() argument in plt.subplots() are copying and pasting your previous code.**" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "id": "0pq5vAFZST2s", + "outputId": "435bd90d-1b18-4c71-a14b-399854a24243", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 216 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "from matplotlib.lines import lineStyles\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "fig = plt.figure(figsize = (10,2))\n", + "x = np.arange(0,100)\n", + "y = x*2\n", + "plt.subplot(1,2,1)\n", + "plt.plot(x,y,color = 'blue',linestyle = 'dashed')\n", + "z = x**2\n", + "plt.subplot(1,2,2)\n", + "plt.plot(x,z,color = \"red\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-ONbbrWEST2t" + }, + "source": [ + "# Great Job!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Numpy_.ipynb b/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Numpy_.ipynb new file mode 100644 index 00000000..596ed63e --- /dev/null +++ b/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Numpy_.ipynb @@ -0,0 +1,607 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "HfJB9JnS9xlK" + }, + "source": [ + "# NumPy Exercises\n", + "\n", + "Now that we've learned about NumPy let's test your knowledge. We'll start off with a few simple tasks, and then you'll be asked some more complicated questions." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u9POEVg29xlM" + }, + "source": [ + "#### Import NumPy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "yyS-PuO_9xlM" + }, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ehlpKUPc9xlM" + }, + "source": [ + "#### Create an array of 10 zeros" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "id": "aEQkK-Dw9xlN" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "arr = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6QHp05Ei9xlN" + }, + "source": [ + "#### Create an array of 10 ones" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true, + "id": "ebe9xrC29xlN" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "arr = np.array([1,1,1,1,1,1,1,1,1,1])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ziS-l3xp9xlO" + }, + "source": [ + "#### Create an array of 10 fives" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "fFC7bqLM9xlO", + "outputId": "a977a8ae-040a-42d1-a325-15e3645bb5c9", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[5 5 5 5 5 5 5 5 5 5]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.full(10,5)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kBugMXlC9xlO" + }, + "source": [ + "#### Create an array of the integers from 10 to 50" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "id": "JsO6qS9R9xlO", + "outputId": "e6934d24-c7a1-455c-8b58-a6d4a0e29f97", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33\n", + " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.arange(10,51)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dMw4V2L79xlO" + }, + "source": [ + "#### Create an array of all the even integers from 10 to 50" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "id": "4lK-5SQV9xlO", + "outputId": "3a0b13db-a6ef-4ea7-f7cb-5d4bd221da0d", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.arange(10,51,2)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "g__F0rB39xlP" + }, + "source": [ + "#### Create a 3x3 matrix with values ranging from 0 to 8" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "id": "MmVXCn0K9xlP", + "outputId": "02e8b9c1-8955-4a09-94f6-91e8020336f4", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[0 1 2]\n", + " [3 4 5]\n", + " [6 7 8]]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.array([[0,1,2],[3,4,5],[6,7,8]])\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4YfT0aLo9xlP" + }, + "source": [ + "#### Create a 3x3 identity matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "id": "UHa42UpQ9xlP", + "outputId": "7aff26b1-a7d9-4239-ecbe-a3063826e7f8", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1. 0. 0.]\n", + " [0. 1. 0.]\n", + " [0. 0. 1.]]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.identity(3)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bfwDbjhI9xlP" + }, + "source": [ + "#### Use NumPy to generate a random number between 0 and 1" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "Z0OroZxW9xlP", + "outputId": "9860529a-acc4-48cb-920c-853c41bc9fb8", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0.38825294]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "arr = np.random.rand(1)\n", + "print(arr)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rLW0Jjzp9xlP" + }, + "source": [ + "#### Use NumPy to generate an array of 25 random numbers sampled from a standard normal distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "id": "szluy14n9xlP", + "outputId": "77713860-db48-4cc7-de83-d494b8901409", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[-2.27008925 0.83872701 0.10940618 -0.22729426 -2.09157495 1.63474801\n", + " 0.41754416 0.77955589 1.07463744 -0.26082726 1.62257288 1.30163828\n", + " -1.31400092 -2.66972871 -0.40398308 0.24361384 -0.32273428 -0.79056127\n", + " -0.78009887 1.0708614 0.67960078 0.00928509 -1.8209739 0.00280966\n", + " 0.38729589]\n" + ] + } + ], + "source": [ + "arr = np.random.normal(0,1,25)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_GhI8LYn9xlP" + }, + "source": [ + "#### Create the following matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "id": "wS1ZBddV9xlP", + "outputId": "391a14b7-ae9d-4612-9042-273338eac8f8", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14\n", + " 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28\n", + " 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42\n", + " 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56\n", + " 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7\n", + " 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84\n", + " 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98\n", + " 0.99 1. ]\n" + ] + } + ], + "source": [ + "arr = np.arange(0.01,1.01,0.01)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3OqA-QtL9xlQ" + }, + "source": [ + "#### Create an array of 20 linearly spaced points between 0 and 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "id": "FNXTugQ29xlQ", + "outputId": "0e78c1d7-11fd-4daa-a6c9-c725d979eb4b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0. 0.05263158 0.10526316 0.15789474 0.21052632 0.26315789\n", + " 0.31578947 0.36842105 0.42105263 0.47368421 0.52631579 0.57894737\n", + " 0.63157895 0.68421053 0.73684211 0.78947368 0.84210526 0.89473684\n", + " 0.94736842 1. ]\n" + ] + } + ], + "source": [ + "arr = np.linspace(0,1,20)\n", + "print(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "elx0EaxE9xlQ" + }, + "source": [ + "## Numpy Indexing and Selection\n", + "\n", + "Now you will be given a few matrices, and be asked to replicate the resulting matrix outputs:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2Tbm9kVf9xlQ" + }, + "source": [] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "id": "Ft8P8e249xlQ", + "outputId": "8851e2f8-9cb6-424d-c426-fa684588aeff", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1, 2, 3, 4, 5],\n", + " [ 6, 7, 8, 9, 10],\n", + " [11, 12, 13, 14, 15],\n", + " [16, 17, 18, 19, 20],\n", + " [21, 22, 23, 24, 25]])" + ] + }, + "metadata": {}, + "execution_count": 31 + } + ], + "source": [ + "arr = (np.arange(1,26)).reshape(5,5)\n", + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "id": "WrcFkpGL9xlQ", + "outputId": "1af0c925-1758-4818-b315-5b6229565c23", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[12, 13, 14, 15],\n", + " [17, 18, 19, 20],\n", + " [22, 23, 24, 25]])" + ] + }, + "metadata": {}, + "execution_count": 32 + } + ], + "source": [ + "arr[2:,1:]" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "id": "rnUSntEa9xlQ", + "outputId": "d5ee4119-1914-45ab-f729-0eff6893a4a5", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "20\n" + ] + } + ], + "source": [ + "print(arr[3,4])" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "id": "3DMBC_wp9xlQ", + "outputId": "4ce3e199-7ca5-4674-ff0f-1e09daeec536", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 2]\n", + " [ 7]\n", + " [12]]\n" + ] + } + ], + "source": [ + "print(arr[0:3,1].reshape(3,1))" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "id": "pGjD4HUK9xlQ", + "outputId": "6fac16cb-9958-42ed-cd21-8ee78801ab3f", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[21 22 23 24 25]\n" + ] + } + ], + "source": [ + "print(arr[4])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "id": "dqsdpxUo9xlR", + "outputId": "332457a7-f5f7-4216-e41b-4b5b9e2bc710", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[16 17 18 19 20]\n", + " [21 22 23 24 25]]\n" + ] + } + ], + "source": [ + "print(arr[3:])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true, + "id": "6vtHuVJU9xlf" + }, + "source": [ + "# Great Job!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + }, + "colab": { + "provenance": [], + "toc_visible": true + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Pandas.ipynb b/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Pandas.ipynb new file mode 100644 index 00000000..47573f2c --- /dev/null +++ b/Assignment 1/Assignment1_RathoreLokendra/Assignment1_RathoreLokendra_Pandas.ipynb @@ -0,0 +1,3134 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "## General Instructions for all Assignments" + ], + "metadata": { + "id": "AWDeauE3Bdzs" + } + }, + { + "cell_type": "markdown", + "source": [ + "1. Fork the repository and make a copy of this notebook and rename it as your name_Assignment1_Pandas\n", + "2. Generate a pull request. The pull request message should also be yourname_Assignment1" + ], + "metadata": { + "id": "Xaf9uMvXBJEC" + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "1. This code notebook is composed of cells. Each cell is either text or Python code.\n", + "2. To run a cell of code, click the \"play button\" icon to the left of the cell or click on the cell and press \"Shift+Enter\" on your keyboard. This will execute the Python code contained in the cell. Executing a cell that defines a variable is important before executing or authoring a cell that depends on that previously created variable assignment.\n" + ], + "metadata": { + "id": "4_6uxHVGB_XT" + } + }, + { + "cell_type": "markdown", + "source": [], + "metadata": { + "id": "b68xNjkKCBIF" + } + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "BiD4gl6_cAYs" + }, + "outputs": [], + "source": [ + "#import pandas library\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "JUtm9KricAYu" + }, + "outputs": [], + "source": [ + "df = pd.read_csv('/content/Iris.csv') # Please replace 'path/to/your/Iris.csv' with the actual path to your Iris.csv file\n", + "#reads the csv file and stores it in a data frame(define in the pandas library)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "qzUnSkfRcAYu" + }, + "outputs": [], + "source": [ + "dictionary = {'col':[4,2,3], 'col2':[4,7,6], 'col3':[7,10,9]}" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "ACswu4BXcAYu" + }, + "outputs": [], + "source": [ + "dictionarydf = pd.DataFrame.from_dict(dictionary)\n", + "#it creats a new datafram which stores the dictionary made above" + ] + }, + { + "cell_type": "code", + "source": [ + "df.head()\n", + "#shows top 5 rows (row indexing starts from 0)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "MvYNz8E2dp3K", + "outputId": "3c1953fc-cb24-42f9-984e-260b07837fe2" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", + "0 1 5.1 3.5 1.4 0.2 Iris-setosa\n", + "1 2 4.9 3.0 1.4 0.2 Iris-setosa\n", + "2 3 4.7 3.2 1.3 0.2 Iris-setosa\n", + "3 4 4.6 3.1 1.5 0.2 Iris-setosa\n", + "4 5 5.0 3.6 1.4 0.2 Iris-setosa" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#shows top 5 rows (row indexing starts from 0)\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 1,\n \"max\": 5,\n \"num_unique_values\": 5,\n \"samples\": [\n 2,\n 5,\n 3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2073644135332772,\n \"min\": 4.6,\n \"max\": 5.1,\n \"num_unique_values\": 5,\n \"samples\": [\n 4.9,\n 5.0,\n 4.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2588435821108957,\n \"min\": 3.0,\n \"max\": 3.6,\n \"num_unique_values\": 5,\n \"samples\": [\n 3.0,\n 3.6,\n 3.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.07071067811865474,\n \"min\": 1.3,\n \"max\": 1.5,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.4,\n 1.3,\n 1.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 0.2,\n \"max\": 0.2,\n \"num_unique_values\": 1,\n \"samples\": [\n 0.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-setosa\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "iAx3B-TacAYu", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "outputId": "7b5a7aea-3742-40a7-ec4d-df475e320cf7" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", + "0 1 5.1 3.5 1.4 0.2 Iris-setosa\n", + "1 2 4.9 3.0 1.4 0.2 Iris-setosa\n", + "2 3 4.7 3.2 1.3 0.2 Iris-setosa\n", + "3 4 4.6 3.1 1.5 0.2 Iris-setosa\n", + "4 5 5.0 3.6 1.4 0.2 Iris-setosa\n", + "5 6 5.4 3.9 1.7 0.4 Iris-setosa\n", + "6 7 4.6 3.4 1.4 0.3 Iris-setosa\n", + "7 8 5.0 3.4 1.5 0.2 Iris-setosa\n", + "8 9 4.4 2.9 1.4 0.2 Iris-setosa\n", + "9 10 4.9 3.1 1.5 0.1 Iris-setosa" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
565.43.91.70.4Iris-setosa
674.63.41.40.3Iris-setosa
785.03.41.50.2Iris-setosa
894.42.91.40.2Iris-setosa
9104.93.11.50.1Iris-setosa
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df", + "summary": "{\n \"name\": \"df\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43,\n \"min\": 1,\n \"max\": 150,\n \"num_unique_values\": 150,\n \"samples\": [\n 74,\n 19,\n 119\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.7644204199522617,\n \"min\": 1.0,\n \"max\": 6.9,\n \"num_unique_values\": 43,\n \"samples\": [\n 6.7,\n 3.8,\n 3.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7631607417008414,\n \"min\": 0.1,\n \"max\": 2.5,\n \"num_unique_values\": 22,\n \"samples\": [\n 0.2,\n 1.2,\n 1.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Iris-setosa\",\n \"Iris-versicolor\",\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 10 + } + ], + "source": [ + "#Similiar to above, show 10 rows from the top\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "P9RtjFLQcAYv", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 519 + }, + "outputId": "48e4baf0-acfe-4cb5-c523-5453f4df9d0a" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n", + "135 136 7.7 3.0 6.1 2.3 \n", + "136 137 6.3 3.4 5.6 2.4 \n", + "137 138 6.4 3.1 5.5 1.8 \n", + "138 139 6.0 3.0 4.8 1.8 \n", + "139 140 6.9 3.1 5.4 2.1 \n", + "140 141 6.7 3.1 5.6 2.4 \n", + "141 142 6.9 3.1 5.1 2.3 \n", + "142 143 5.8 2.7 5.1 1.9 \n", + "143 144 6.8 3.2 5.9 2.3 \n", + "144 145 6.7 3.3 5.7 2.5 \n", + "145 146 6.7 3.0 5.2 2.3 \n", + "146 147 6.3 2.5 5.0 1.9 \n", + "147 148 6.5 3.0 5.2 2.0 \n", + "148 149 6.2 3.4 5.4 2.3 \n", + "149 150 5.9 3.0 5.1 1.8 \n", + "\n", + " Species \n", + "135 Iris-virginica \n", + "136 Iris-virginica \n", + "137 Iris-virginica \n", + "138 Iris-virginica \n", + "139 Iris-virginica \n", + "140 Iris-virginica \n", + "141 Iris-virginica \n", + "142 Iris-virginica \n", + "143 Iris-virginica \n", + "144 Iris-virginica \n", + "145 Iris-virginica \n", + "146 Iris-virginica \n", + "147 Iris-virginica \n", + "148 Iris-virginica \n", + "149 Iris-virginica " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
1351367.73.06.12.3Iris-virginica
1361376.33.45.62.4Iris-virginica
1371386.43.15.51.8Iris-virginica
1381396.03.04.81.8Iris-virginica
1391406.93.15.42.1Iris-virginica
1401416.73.15.62.4Iris-virginica
1411426.93.15.12.3Iris-virginica
1421435.82.75.11.9Iris-virginica
1431446.83.25.92.3Iris-virginica
1441456.73.35.72.5Iris-virginica
1451466.73.05.22.3Iris-virginica
1461476.32.55.01.9Iris-virginica
1471486.53.05.22.0Iris-virginica
1481496.23.45.42.3Iris-virginica
1491505.93.05.11.8Iris-virginica
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df\",\n \"rows\": 15,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 136,\n \"max\": 150,\n \"num_unique_values\": 15,\n \"samples\": [\n 145,\n 147,\n 136\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.48136710078097966,\n \"min\": 5.8,\n \"max\": 7.7,\n \"num_unique_values\": 11,\n \"samples\": [\n 6.7,\n 7.7,\n 6.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.23543273227945902,\n \"min\": 2.5,\n \"max\": 3.4,\n \"num_unique_values\": 7,\n \"samples\": [\n 3.0,\n 3.4,\n 3.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.35697138740881107,\n \"min\": 4.8,\n \"max\": 6.1,\n \"num_unique_values\": 10,\n \"samples\": [\n 5.2,\n 5.6,\n 5.1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.25014281634983754,\n \"min\": 1.8,\n \"max\": 2.5,\n \"num_unique_values\": 7,\n \"samples\": [\n 2.3,\n 2.4,\n 2.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 11 + } + ], + "source": [ + "#Show the last 15 rows using tail function\n", + "df.tail(15)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "QrzERa4qcAYv", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2d404f0e-3f0c-420a-f075-95710c3ca8e6" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['Id',\n", + " 'SepalLengthCm',\n", + " 'SepalWidthCm',\n", + " 'PetalLengthCm',\n", + " 'PetalWidthCm',\n", + " 'Species']" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ], + "source": [ + "#list all the columns of the dataset\n", + "df.columns.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "5yPReLqxcAYv", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 272 + }, + "outputId": "30a0f1e0-9e14-4c78-8c97-9403572c7ef6" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Id int64\n", + "SepalLengthCm float64\n", + "SepalWidthCm float64\n", + "PetalLengthCm float64\n", + "PetalWidthCm float64\n", + "Species object\n", + "dtype: object" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
Idint64
SepalLengthCmfloat64
SepalWidthCmfloat64
PetalLengthCmfloat64
PetalWidthCmfloat64
Speciesobject
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ], + "source": [ + "#show the data types of each feature or column name\n", + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "lT3OEUNDcAYv", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 300 + }, + "outputId": "fe6062b8-18e2-4ed0-aa87-151db766ca5f" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm\n", + "count 150.000000 150.000000 150.000000 150.000000 150.000000\n", + "mean 75.500000 5.843333 3.054000 3.758667 1.198667\n", + "std 43.445368 0.828066 0.433594 1.764420 0.763161\n", + "min 1.000000 4.300000 2.000000 1.000000 0.100000\n", + "25% 38.250000 5.100000 2.800000 1.600000 0.300000\n", + "50% 75.500000 5.800000 3.000000 4.350000 1.300000\n", + "75% 112.750000 6.400000 3.300000 5.100000 1.800000\n", + "max 150.000000 7.900000 4.400000 6.900000 2.500000" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCm
count150.000000150.000000150.000000150.000000150.000000
mean75.5000005.8433333.0540003.7586671.198667
std43.4453680.8280660.4335941.7644200.763161
min1.0000004.3000002.0000001.0000000.100000
25%38.2500005.1000002.8000001.6000000.300000
50%75.5000005.8000003.0000004.3500001.300000
75%112.7500006.4000003.3000005.1000001.800000
max150.0000007.9000004.4000006.9000002.500000
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df\",\n \"rows\": 8,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 53.756293020494844,\n \"min\": 1.0,\n \"max\": 150.0,\n \"num_unique_values\": 6,\n \"samples\": [\n 150.0,\n 75.5,\n 112.75\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 51.24711349471842,\n \"min\": 0.8280661279778629,\n \"max\": 150.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 5.843333333333334,\n 5.8,\n 150.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 52.08647211421483,\n \"min\": 0.4335943113621737,\n \"max\": 150.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 3.0540000000000003,\n 3.0,\n 150.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 51.835227940958106,\n \"min\": 1.0,\n \"max\": 150.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 3.758666666666666,\n 4.35,\n 150.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 52.63663424340991,\n \"min\": 0.1,\n \"max\": 150.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 1.1986666666666668,\n 1.3,\n 150.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 15 + } + ], + "source": [ + "#describe the data through statistics\n", + "df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 423 + }, + "id": "Z_52ct0BcAYw", + "outputId": "e93ccb6e-4718-4338-8a8a-1576b38f5c4e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " SepalLengthCm SepalWidthCm\n", + "0 5.1 3.5\n", + "1 4.9 3.0\n", + "2 4.7 3.2\n", + "3 4.6 3.1\n", + "4 5.0 3.6\n", + ".. ... ...\n", + "145 6.7 3.0\n", + "146 6.3 2.5\n", + "147 6.5 3.0\n", + "148 6.2 3.4\n", + "149 5.9 3.0\n", + "\n", + "[150 rows x 2 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SepalLengthCmSepalWidthCm
05.13.5
14.93.0
24.73.2
34.63.1
45.03.6
.........
1456.73.0
1466.32.5
1476.53.0
1486.23.4
1495.93.0
\n", + "

150 rows × 2 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#From taking multiple columns from the dataset\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 16 + } + ], + "source": [ + "df[['SepalLengthCm', 'SepalWidthCm']]\n", + "#From taking multiple columns from the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JWYXoLl0cAYw", + "outputId": "527851d7-4afd-42c1-9c26-1f2555a53f1b" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.4, 4.8, 4.3, 5.8, 5.7, 5.2, 5.5,\n", + " 4.5, 5.3, 7. , 6.4, 6.9, 6.5, 6.3, 6.6, 5.9, 6. , 6.1, 5.6, 6.7,\n", + " 6.2, 6.8, 7.1, 7.6, 7.3, 7.2, 7.7, 7.4, 7.9])" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "df.SepalLengthCm.unique()\n", + "#gives the unique values of Sepal Length present in that particular column" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "MiOVp1WacAYw", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 272 + }, + "outputId": "fe54e5e6-9fc6-46c8-9cd2-e01cd0385830" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Id 11\n", + "SepalLengthCm 5.4\n", + "SepalWidthCm 3.7\n", + "PetalLengthCm 1.5\n", + "PetalWidthCm 0.2\n", + "Species Iris-setosa\n", + "Name: 10, dtype: object" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
10
Id11
SepalLengthCm5.4
SepalWidthCm3.7
PetalLengthCm1.5
PetalWidthCm0.2
SpeciesIris-setosa
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ], + "source": [ + "#Get the 11th row from the dataset\n", + "#Hint: for taking 11th row do we use 11 or 10 index?\n", + "df.loc[10]" + ] + }, + { + "cell_type": "code", + "source": [ + "df.iloc[10,-1]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 36 + }, + "id": "TF03jh_MovET", + "outputId": "4359871a-534b-4a33-80e2-08cfffba0166" + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'Iris-setosa'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Display the second last entry of the 10th row\n", + "df.iloc[9,-2]" + ], + "metadata": { + "id": "gV-h3rK-g5lZ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "69b96eeb-bc2c-44bd-fafb-0ccd750f67df" + }, + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(0.1)" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 394 + }, + "id": "KXWCH34ecAYx", + "outputId": "399dd06d-ea5c-41b3-f30c-0e1a1a79d400" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", + "22 23 4.6 3.6 1.0 0.2 Iris-setosa\n", + "23 24 5.1 3.3 1.7 0.5 Iris-setosa\n", + "24 25 4.8 3.4 1.9 0.2 Iris-setosa\n", + "25 26 5.0 3.0 1.6 0.2 Iris-setosa\n", + "26 27 5.0 3.4 1.6 0.4 Iris-setosa\n", + "27 28 5.2 3.5 1.5 0.2 Iris-setosa\n", + "28 29 5.2 3.4 1.4 0.2 Iris-setosa\n", + "29 30 4.7 3.2 1.6 0.2 Iris-setosa\n", + "30 31 4.8 3.1 1.6 0.2 Iris-setosa\n", + "31 32 5.4 3.4 1.5 0.4 Iris-setosa\n", + "32 33 5.2 4.1 1.5 0.1 Iris-setosa" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
22234.63.61.00.2Iris-setosa
23245.13.31.70.5Iris-setosa
24254.83.41.90.2Iris-setosa
25265.03.01.60.2Iris-setosa
26275.03.41.60.4Iris-setosa
27285.23.51.50.2Iris-setosa
28295.23.41.40.2Iris-setosa
29304.73.21.60.2Iris-setosa
30314.83.11.60.2Iris-setosa
31325.43.41.50.4Iris-setosa
32335.24.11.50.1Iris-setosa
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#takes everything from row 23(included) and 34(not included)\",\n \"rows\": 11,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3,\n \"min\": 23,\n \"max\": 33,\n \"num_unique_values\": 11,\n \"samples\": [\n 28,\n 23,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2489979919597748,\n \"min\": 4.6,\n \"max\": 5.4,\n \"num_unique_values\": 7,\n \"samples\": [\n 4.6,\n 5.1,\n 4.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.28982753492378865,\n \"min\": 3.0,\n \"max\": 4.1,\n \"num_unique_values\": 8,\n \"samples\": [\n 3.3,\n 3.2,\n 3.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.22033033051637385,\n \"min\": 1.0,\n \"max\": 1.9,\n \"num_unique_values\": 6,\n \"samples\": [\n 1.0,\n 1.7,\n 1.4\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.12135597524338358,\n \"min\": 0.1,\n \"max\": 0.5,\n \"num_unique_values\": 4,\n \"samples\": [\n 0.5,\n 0.1,\n 0.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-setosa\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 23 + } + ], + "source": [ + "df.iloc[22:33]\n", + "#takes everything from row 23(included) and 34(not included)" + ] + }, + { + "cell_type": "code", + "source": [ + "df1=df.copy()\n", + "df1.dropna(axis=0, inplace=False) #drops any values that are null or na" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 423 + }, + "id": "quhmLFx-q6vS", + "outputId": "6452217e-a191-4349-a85e-ade9d5b67d79" + }, + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n", + "0 1 5.1 3.5 1.4 0.2 \n", + "1 2 4.9 3.0 1.4 0.2 \n", + "2 3 4.7 3.2 1.3 0.2 \n", + "3 4 4.6 3.1 1.5 0.2 \n", + "4 5 5.0 3.6 1.4 0.2 \n", + ".. ... ... ... ... ... \n", + "145 146 6.7 3.0 5.2 2.3 \n", + "146 147 6.3 2.5 5.0 1.9 \n", + "147 148 6.5 3.0 5.2 2.0 \n", + "148 149 6.2 3.4 5.4 2.3 \n", + "149 150 5.9 3.0 5.1 1.8 \n", + "\n", + " Species \n", + "0 Iris-setosa \n", + "1 Iris-setosa \n", + "2 Iris-setosa \n", + "3 Iris-setosa \n", + "4 Iris-setosa \n", + ".. ... \n", + "145 Iris-virginica \n", + "146 Iris-virginica \n", + "147 Iris-virginica \n", + "148 Iris-virginica \n", + "149 Iris-virginica \n", + "\n", + "[150 rows x 6 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
.....................
1451466.73.05.22.3Iris-virginica
1461476.32.55.01.9Iris-virginica
1471486.53.05.22.0Iris-virginica
1481496.23.45.42.3Iris-virginica
1491505.93.05.11.8Iris-virginica
\n", + "

150 rows × 6 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df1\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43,\n \"min\": 1,\n \"max\": 150,\n \"num_unique_values\": 150,\n \"samples\": [\n 74,\n 19,\n 119\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.7644204199522617,\n \"min\": 1.0,\n \"max\": 6.9,\n \"num_unique_values\": 43,\n \"samples\": [\n 6.7,\n 3.8,\n 3.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7631607417008414,\n \"min\": 0.1,\n \"max\": 2.5,\n \"num_unique_values\": 22,\n \"samples\": [\n 0.2,\n 1.2,\n 1.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Iris-setosa\",\n \"Iris-versicolor\",\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "id": "kZg8z57fcAY2" + }, + "outputs": [], + "source": [ + "df.dropna(axis=0, inplace=True)\n", + "#drops all the rows with missing values" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 272 + }, + "id": "FRWcDJA2cAY2", + "outputId": "1230ad9c-e77b-40bf-dc17-6d78bd8210c1" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Id 0\n", + "SepalLengthCm 0\n", + "SepalWidthCm 0\n", + "PetalLengthCm 0\n", + "PetalWidthCm 0\n", + "Species 0\n", + "dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
Id0
SepalLengthCm0
SepalWidthCm0
PetalLengthCm0
PetalWidthCm0
Species0
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ], + "source": [ + "df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "JioW0K_pcAY3" + }, + "outputs": [], + "source": [ + "df.to_csv('cleandata_iris.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "id": "asToKeGJcAY4" + }, + "outputs": [], + "source": [ + "del df" + ] + } + ], + "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.7.4" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/Assignment 2/Assignment2_Mithil/assignment2/Assignment2_mithil.ipynb b/Assignment 2/Assignment2_Mithil/assignment2/Assignment2_mithil.ipynb deleted file mode 100644 index 67706653..00000000 --- a/Assignment 2/Assignment2_Mithil/assignment2/Assignment2_mithil.ipynb +++ /dev/null @@ -1,160 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "OisSwUF2UE3V", - "outputId": "eea053a9-0643-4824-b5e0-69117b7ab921" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[33mWARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.\u001b[0m\u001b[33m\n", - "\u001b[0myfinance (0.2.66)\n", - "Available versions: 0.2.66, 0.2.65, 0.2.64, 0.2.63, 0.2.62, 0.2.61, 0.2.60, 0.2.59, 0.2.58, 0.2.57, 0.2.56, 0.2.55, 0.2.54, 0.2.53, 0.2.52, 0.2.51, 0.2.50, 0.2.49, 0.2.48, 0.2.47, 0.2.46, 0.2.45, 0.2.44, 0.2.43, 0.2.42, 0.2.41, 0.2.40, 0.2.39, 0.2.38, 0.2.37, 0.2.36, 0.2.35, 0.2.34, 0.2.33, 0.2.32, 0.2.31, 0.2.30, 0.2.29, 0.2.28, 0.2.27, 0.2.26, 0.2.25, 0.2.24, 0.2.23, 0.2.22, 0.2.21, 0.2.20, 0.2.19, 0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.2.13, 0.2.12, 0.2.11, 0.2.10, 0.2.9, 0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.1.96, 0.1.95, 0.1.94, 0.1.93, 0.1.92, 0.1.91, 0.1.90, 0.1.89, 0.1.87, 0.1.86, 0.1.85, 0.1.84, 0.1.83, 0.1.82, 0.1.81, 0.1.80, 0.1.79, 0.1.78, 0.1.77, 0.1.75, 0.1.74, 0.1.73, 0.1.72, 0.1.71, 0.1.70, 0.1.69, 0.1.68, 0.1.67, 0.1.66, 0.1.65, 0.1.64, 0.1.63, 0.1.62, 0.1.61, 0.1.60, 0.1.59, 0.1.58, 0.1.57, 0.1.56, 0.1.55, 0.1.54, 0.1.53, 0.1.52, 0.1.51, 0.1.50, 0.1.49, 0.1.48, 0.1.47, 0.1.46, 0.1.45, 0.1.44, 0.1.43, 0.1.42, 0.1.41, 0.1.40, 0.1.39, 0.1.38, 0.1.37, 0.1.36\n", - " INSTALLED: 0.2.66\n", - " LATEST: 0.2.66\n" - ] - } - ], - "source": [ - "!pip index versions yfinance" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "lBLduwjZU7gG", - "outputId": "2527c519-8098-479c-b813-b32cd5e1fa72" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[33mWARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.\u001b[0m\u001b[33m\n", - "\u001b[0mplotly (6.5.0)\n", - "Available versions: 6.5.0, 6.4.0, 6.3.1, 6.3.0, 6.2.0, 6.1.2, 6.1.1, 6.1.0, 6.0.1, 6.0.0, 5.24.1, 5.24.0, 5.23.0, 5.22.0, 5.21.0, 5.20.0, 5.19.0, 5.18.0, 5.17.0, 5.16.1, 5.16.0, 5.15.0, 5.14.1, 5.14.0, 5.13.1, 5.13.0, 5.12.0, 5.11.0, 5.10.0, 5.9.0, 5.8.2, 5.8.1, 5.8.0, 5.7.0, 5.6.0, 5.5.0, 5.4.0, 5.3.1, 5.3.0, 5.2.2, 5.2.1, 5.1.0, 5.0.0, 4.14.3, 4.14.2, 4.14.1, 4.14.0, 4.13.0, 4.12.0, 4.11.0, 4.10.0, 4.9.0, 4.8.2, 4.8.1, 4.8.0, 4.7.1, 4.7.0, 4.6.0, 4.5.4, 4.5.3, 4.5.2, 4.5.1, 4.5.0, 4.4.1, 4.4.0, 4.3.0, 4.2.1, 4.2.0, 4.1.1, 4.1.0, 4.0.0, 3.10.0, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.2, 3.4.1, 3.4.0, 3.3.0, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.2, 3.0.0, 2.7.0, 2.6.0, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.0, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.2, 2.0.1, 2.0.0, 1.13.0, 1.12.12, 1.12.11, 1.12.10, 1.12.9, 1.12.8, 1.12.7, 1.12.6, 1.12.5, 1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0, 1.11.0, 1.10.0, 1.9.13, 1.9.12, 1.9.11, 1.9.10, 1.9.9, 1.9.8, 1.9.7, 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.12, 1.8.11, 1.8.8, 1.8.6, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.9, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.19, 1.6.17, 1.6.16, 1.6.15, 1.6.14, 1.6.13, 1.6.12, 1.6.11, 1.6.10, 1.6.9, 1.6.8, 1.6.7, 1.6.6, 1.6.4, 1.5.0, 1.4.14, 1.4.13, 1.4.12, 1.4.11, 1.4.10, 1.4.9, 1.4.7, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.9, 1.2.8, 1.2.7, 1.2.6, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.34, 1.0.33, 1.0.32, 1.0.31, 1.0.30, 1.0.29, 1.0.28, 1.0.27, 1.0.26, 1.0.25, 1.0.24, 1.0.23, 1.0.22, 1.0.21, 1.0.20, 1.0.19, 1.0.18, 1.0.17, 1.0.16, 1.0.15, 1.0.14, 1.0.13, 1.0.12, 1.0.11, 1.0.10, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.5.13, 0.5.12, 0.5.11, 0.5.10, 0.5.9, 0.5.8, 0.5.7, 0.5.6, 0.5.5, 0.5.4, 0.5.3, 0.5.2, 0.5.1, 0.5, 0.4, 0.3, 0.2\n", - " INSTALLED: 5.24.1\n", - " LATEST: 6.5.0\n" - ] - } - ], - "source": [ - "!pip index versions plotly" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 542 - }, - "id": "Bdyc-DW1VpO4", - "outputId": "911f3b78-a569-4169-c3a8-46284382bf43" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - "
\n", - "\n", - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import yfinance as yf\n", - "import plotly.graph_objects as go\n", - "ticker_symbol = 'NVDA'\n", - "ticker = yf.Ticker(ticker_symbol)\n", - "historical_data = ticker.history(period='6mo', interval='1d')\n", - "fig = go.Figure(data=[go.Candlestick(x=historical_data.index, open=historical_data['Open'], high=historical_data['High'], low=historical_data['Low'],\n", - " close=historical_data['Close'])])\n", - "fig.update_layout(title='Candlestick chart of NVIDIA', xaxis_title = 'Dates', yaxis_title = 'Price' )\n", - "fig.show()\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "pL_-ysy0nSTC" - }, - "source": [ - "**Engulfing bearish pattern** \n", - "This pattern occured on 20th november 2025 .\n", - "\n", - "The prices of stocks got reduced,\n", - " this pattern marks end of the uptrend\n", - " ![Screenshot 2025-12-13 161142.png](data:image/png;base64,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)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "33Gau6j5tdpt" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} From 2f585400e4025f1361b0ff2b5d7959a20dc95974 Mon Sep 17 00:00:00 2001 From: Lokendra-888 Date: Tue, 23 Dec 2025 09:49:20 +0530 Subject: [PATCH 2/3] Add Lokendra_mideval_code --- MidEval Code/Lokendra_mideval_code.ipynb | 202 +++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 MidEval Code/Lokendra_mideval_code.ipynb diff --git a/MidEval Code/Lokendra_mideval_code.ipynb b/MidEval Code/Lokendra_mideval_code.ipynb new file mode 100644 index 00000000..4d6d4c67 --- /dev/null +++ b/MidEval Code/Lokendra_mideval_code.ipynb @@ -0,0 +1,202 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4WmfLUTIZsYO", + "outputId": "54c7b8f6-c42a-4d3f-8da2-a1de654a4b9c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "===== Logistic Regression Results =====\n", + "Accuracy : 0.925\n", + "Precision: 0.9473684210526315\n", + "Recall : 0.972972972972973\n", + "F1-score : 0.96\n", + "Confusion Matrix:\n", + " [[ 1 2]\n", + " [ 1 36]]\n", + "\n", + "===== Neural Network Results =====\n", + "Accuracy : 0.95\n", + "Precision: 0.972972972972973\n", + "Recall : 0.972972972972973\n", + "F1-score : 0.972972972972973\n", + "Confusion Matrix:\n", + " [[ 2 1]\n", + " [ 1 36]]\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import OneHotEncoder, StandardScaler\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.pipeline import Pipeline\n", + "\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.neural_network import MLPClassifier\n", + "\n", + "from sklearn.metrics import (\n", + " accuracy_score,\n", + " precision_score,\n", + " recall_score,\n", + " f1_score,\n", + " confusion_matrix\n", + ")\n", + "\n", + "df = pd.read_csv(\"quantvision_financial_dataset_200.csv\")\n", + "\n", + "X = df.drop(\"future_trend\", axis=1)\n", + "y = df[\"future_trend\"]\n", + "\n", + "categorical_features = [\"asset_type\", \"market_regime\"]\n", + "\n", + "numerical_features = [\n", + " \"lookback_days\",\n", + " \"high_volatility\",\n", + " \"trend_continuation\",\n", + " \"technical_score\",\n", + " \"edge_density\",\n", + " \"slope_strength\",\n", + " \"candlestick_variance\",\n", + " \"pattern_symmetry\"\n", + "]\n", + "\n", + "preprocessor = ColumnTransformer(\n", + " transformers=[\n", + " (\"cat\", OneHotEncoder(drop=\"first\"), categorical_features),\n", + " (\"num\", StandardScaler(), numerical_features)\n", + " ]\n", + ")\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X,\n", + " y,\n", + " test_size=0.2,\n", + " random_state=42,\n", + " stratify=y\n", + ")\n", + "\n", + "log_reg_pipeline = Pipeline(steps=[\n", + " (\"preprocess\", preprocessor),\n", + " (\"model\", LogisticRegression(max_iter=1000))\n", + "])\n", + "\n", + "log_reg_pipeline.fit(X_train, y_train)\n", + "\n", + "y_pred_lr = log_reg_pipeline.predict(X_test)\n", + "\n", + "print(\"===== Logistic Regression Results =====\")\n", + "print(\"Accuracy :\", accuracy_score(y_test, y_pred_lr))\n", + "print(\"Precision:\", precision_score(y_test, y_pred_lr))\n", + "print(\"Recall :\", recall_score(y_test, y_pred_lr))\n", + "print(\"F1-score :\", f1_score(y_test, y_pred_lr))\n", + "print(\"Confusion Matrix:\\n\", confusion_matrix(y_test, y_pred_lr))\n", + "print()\n", + "\n", + "mlp_pipeline = Pipeline(steps=[\n", + " (\"preprocess\", preprocessor),\n", + " (\"model\", MLPClassifier(\n", + " hidden_layer_sizes=(64, 32),\n", + " activation=\"relu\",\n", + " solver=\"adam\",\n", + " max_iter=500,\n", + " random_state=42\n", + " ))\n", + "])\n", + "\n", + "mlp_pipeline.fit(X_train, y_train)\n", + "\n", + "y_pred_nn = mlp_pipeline.predict(X_test)\n", + "\n", + "print(\"===== Neural Network Results =====\")\n", + "print(\"Accuracy :\", accuracy_score(y_test, y_pred_nn))\n", + "print(\"Precision:\", precision_score(y_test, y_pred_nn))\n", + "print(\"Recall :\", recall_score(y_test, y_pred_nn))\n", + "print(\"F1-score :\", f1_score(y_test, y_pred_nn))\n", + "print(\"Confusion Matrix:\\n\", confusion_matrix(y_test, y_pred_nn))" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Logistic Regression\n", + "\n", + "Logistic Regression is a linear classification model commonly used as a baseline in machine learning.\n", + "\n", + "# Advantages\n", + "\n", + "Simple and fast to train\n", + "\n", + "Easy to interpret (coefficients show feature importance)\n", + "\n", + "Works well when data is linearly separable\n", + "\n", + "Less risk of overfitting on small datasets\n", + "\n", + "# Limitations\n", + "\n", + "Cannot capture non-linear relationships\n", + "\n", + "Performs poorly when features interact in complex ways\n", + "\n", + "Assumes a linear decision boundary\n", + "\n", + "#Neural Networks\n", + "\n", + "\n", + "Neural Networks are non-linear models capable of learning complex relationships between features.\n", + "\n", + "#Advantages\n", + "\n", + "Captures non-linear interactions between indicators\n", + "\n", + "Learns complex market behavior\n", + "\n", + "Performs better on noisy and volatile data\n", + "\n", + "Adapts well to changing market regimes\n", + "\n", + "#Limitations\n", + "\n", + "Requires more data and computation\n", + "\n", + "Less interpretable than Logistic Regression\n", + "\n", + "Higher risk of overfitting if not tuned properly\n", + "\n", + "#Which is better ?\n", + "\n", + "Logistic Regression provides a strong and interpretable baseline but fails to model complex market dynamics. Neural Networks outperform Logistic Regression by capturing non-linear relationships among technical indicators, making them more suitable for predicting future price movements in volatile and dynamic financial markets." + ], + "metadata": { + "id": "aqxOFIEVYrpW" + } + } + ] +} \ No newline at end of file From 000379808f7b7452d337ae7cc2a694a1b44808ff Mon Sep 17 00:00:00 2001 From: Lokendra-888 Date: Tue, 23 Dec 2025 10:03:40 +0530 Subject: [PATCH 3/3] Add Lokendra medieval code --- .../quantvision_financial_dataset_200.csv | 201 ++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 MidEval Code/quantvision_financial_dataset_200.csv diff --git a/MidEval Code/quantvision_financial_dataset_200.csv b/MidEval Code/quantvision_financial_dataset_200.csv new file mode 100644 index 00000000..4cfdd299 --- /dev/null +++ b/MidEval Code/quantvision_financial_dataset_200.csv @@ -0,0 +1,201 @@ +lookback_days,asset_type,market_regime,high_volatility,trend_continuation,technical_score,edge_density,slope_strength,candlestick_variance,pattern_symmetry,future_trend +48,equity,bullish,0,1,59.99,0.504,0.298,1.572,0.768,1 +38,index,bullish,1,1,78.54,0.559,0.037,0.692,0.538,1 +24,equity,bullish,1,0,56.03,0.617,0.212,1.419,0.301,1 +52,equity,bullish,0,0,66.51,0.36,0.347,0.699,0.498,1 +17,equity,bullish,1,1,61.21,0.492,0.144,2.52,0.828,1 +30,equity,bullish,1,1,73.12,0.608,0.584,1.65,0.831,1 +48,index,sideways,0,0,54.92,0.434,0.395,0.252,0.553,1 +28,equity,bullish,0,1,83.59,0.419,0.404,1.441,0.707,1 +32,equity,bullish,0,0,53.51,0.373,-0.735,0.385,0.577,1 +20,equity,sideways,0,0,48.21,0.524,-0.45,0.87,0.372,1 +20,equity,sideways,0,0,73.11,0.311,-0.67,0.615,0.753,1 +33,index,bullish,0,1,69.79,0.306,1.182,0.72,0.951,1 +45,index,bearish,1,1,51.01,0.625,0.869,2.169,0.764,1 +49,equity,bearish,1,1,50.9,0.619,0.993,2.461,0.73,1 +33,crypto,bullish,0,1,60.93,0.428,-0.41,0.363,0.638,1 +12,equity,sideways,0,1,78.44,0.377,1.136,1.313,0.779,1 +31,crypto,sideways,0,1,69.01,0.44,1.706,0.634,0.596,1 +11,equity,bullish,0,1,92.98,0.538,1.156,0.649,0.366,1 +33,equity,bullish,0,1,81.86,0.601,-0.476,1.245,0.293,1 +53,equity,sideways,1,1,62.57,0.417,1.084,1.186,0.58,1 +39,index,bearish,0,1,84.04,0.366,0.621,1.235,0.723,1 +47,index,bearish,1,1,55.04,0.511,0.084,2.065,0.75,1 +11,index,bearish,1,0,26.45,0.68,-0.174,1.484,0.427,1 +30,equity,bearish,0,0,45.1,0.201,-0.525,1.664,0.521,0 +42,index,sideways,1,1,61.47,0.591,0.201,1.064,0.659,1 +21,index,sideways,0,0,52.77,0.379,0.81,1.673,0.35,1 +31,equity,sideways,0,1,78.24,0.531,0.911,0.028,0.692,1 +53,equity,bearish,0,0,53.75,0.52,0.029,2.35,0.622,1 +34,equity,sideways,1,1,67.48,0.579,0.245,1.497,0.557,1 +58,crypto,bearish,0,0,70.01,0.274,-0.591,0.419,0.357,1 +36,equity,bearish,1,0,43.72,0.504,-0.475,1.584,0.34,1 +51,crypto,bullish,1,0,50.55,0.513,-1.217,1.177,0.21,1 +37,equity,sideways,0,0,37.45,0.294,0.511,1.193,0.428,1 +25,crypto,sideways,1,1,58.76,0.642,-0.893,2.384,0.807,1 +24,index,bearish,0,1,57.68,0.284,1.027,0.503,0.726,1 +56,equity,sideways,0,0,56.45,0.557,0.49,1.29,0.475,1 +60,index,bearish,0,1,72.36,0.557,1.259,0.234,0.719,1 +53,index,bullish,0,0,57.33,0.369,0.043,1.516,0.427,1 +12,crypto,bullish,1,1,55.2,0.576,0.658,1.908,0.408,1 +46,equity,bullish,0,1,92.98,0.394,0.52,1.538,0.818,1 +60,equity,bullish,0,1,57.32,0.472,0.007,0.939,0.861,1 +16,index,bullish,1,1,46.71,0.652,0.965,1.482,0.591,1 +30,crypto,bearish,0,0,71.55,0.421,-0.048,1.408,0.477,1 +18,equity,bullish,0,1,62.96,0.438,-0.105,0.346,0.664,1 +48,equity,bearish,1,1,50.55,0.5,-0.033,0.829,0.753,1 +27,crypto,bullish,1,1,83.03,0.585,-0.014,1.698,0.953,1 +13,equity,bearish,0,1,79.86,0.413,0.831,0.805,0.874,1 +34,index,bullish,1,0,39.06,0.477,0.774,1.977,0.443,1 +23,crypto,bullish,1,1,62.18,0.549,0.461,2.246,0.781,1 +59,index,bearish,0,1,89.46,0.369,0.703,1.267,0.888,1 +18,index,bearish,0,1,76.92,0.351,1.828,1.506,0.761,1 +35,equity,bullish,0,0,67.86,0.308,0.489,1.161,0.499,1 +11,index,sideways,0,1,78.05,0.405,0.727,1.247,0.767,1 +29,index,bullish,0,0,64.3,0.338,-0.24,0.942,0.395,1 +37,equity,bearish,0,0,55.4,0.362,0.158,1.233,0.416,1 +56,equity,sideways,0,1,70.11,0.486,0.567,1.083,0.54,1 +16,crypto,bearish,0,1,72.67,0.451,0.646,1.163,0.746,1 +53,index,bearish,0,1,77.34,0.322,1.257,0.917,0.68,1 +17,equity,bearish,0,1,67.17,0.428,0.33,1.404,0.577,1 +56,crypto,bearish,0,0,56.22,0.411,0.257,0.645,0.475,1 +44,crypto,sideways,1,0,41.9,0.686,0.074,1.691,0.57,0 +23,index,bullish,0,1,71.16,0.511,0.269,1.656,0.987,1 +26,crypto,bullish,1,1,47.49,0.427,-0.211,1.226,0.852,1 +45,equity,bearish,0,1,96.06,0.469,0.525,0.081,0.357,1 +59,equity,sideways,1,0,37.67,0.651,-0.631,1.883,0.536,1 +49,index,bearish,0,1,66.39,0.445,1.176,0.872,0.914,1 +13,crypto,bullish,1,1,51.81,0.523,-0.301,2.205,0.499,1 +11,crypto,bearish,0,0,61.16,0.593,0.034,0.935,0.583,1 +15,equity,sideways,0,0,53.04,0.452,1.273,0.698,0.465,1 +51,crypto,bullish,1,1,50.36,0.708,0.407,1.662,0.873,1 +13,crypto,bullish,0,0,61.57,0.508,0.29,1.547,0.561,1 +38,crypto,bearish,0,0,62.92,0.437,0.58,1.288,0.367,1 +27,index,bearish,0,1,69.33,0.354,0.369,0.217,0.67,1 +35,index,bullish,0,1,63.36,0.398,0.059,1.093,0.679,1 +53,index,bullish,0,1,91.91,0.382,0.688,1.118,0.682,1 +43,equity,bullish,0,1,73.4,0.303,0.733,0.991,0.868,1 +19,crypto,bullish,1,0,32.26,0.602,-1.209,1.395,0.374,0 +45,crypto,sideways,0,0,69.14,0.525,0.188,1.597,0.65,1 +23,equity,sideways,0,1,61.44,0.376,1.135,1.622,0.655,1 +40,equity,bullish,0,1,97.42,0.573,0.144,0.102,0.734,1 +57,equity,sideways,0,1,70.8,0.275,0.818,0.601,0.711,1 +24,equity,bearish,0,1,80.13,0.484,1.046,0.928,0.697,1 +17,crypto,bearish,1,0,24.2,0.684,-0.107,2.174,0.498,1 +23,equity,bearish,0,1,57.16,0.384,0.941,1.017,0.919,1 +32,equity,bullish,0,1,83.34,0.385,0.478,0.658,0.826,1 +49,equity,bullish,0,1,73.18,0.483,0.036,1.355,0.646,1 +30,equity,bearish,0,0,75.42,0.44,-0.224,0.894,0.737,1 +25,equity,bearish,1,1,64.85,0.39,-0.093,1.641,0.741,1 +54,index,bullish,0,0,56.45,0.333,-0.04,0.986,0.554,1 +27,index,sideways,0,1,87.14,0.399,1.147,1.287,0.574,1 +56,equity,sideways,1,0,55.1,0.44,-1.056,1.546,0.425,1 +33,index,bullish,0,0,53.04,0.362,0.072,1.343,0.397,1 +35,index,sideways,1,1,49.06,0.442,-0.332,1.663,0.713,1 +34,index,sideways,0,1,46.28,0.37,0.23,0.466,0.796,1 +54,equity,sideways,1,0,40.62,0.523,-0.121,1.682,0.555,1 +50,index,bullish,0,0,43.14,0.428,-0.595,0.492,0.738,1 +38,crypto,sideways,1,1,85.98,0.543,0.567,1.72,0.567,1 +24,equity,bearish,0,1,63.5,0.44,-0.076,1.415,0.717,1 +54,crypto,sideways,0,0,48.22,0.431,0.333,0.463,0.308,1 +10,equity,sideways,0,1,54.79,0.483,-0.175,1.182,0.562,1 +34,equity,bearish,1,1,57.34,0.62,-0.109,1.285,0.89,1 +16,index,sideways,1,0,38.35,0.611,0.548,1.801,0.431,1 +18,index,sideways,1,1,77.38,0.798,1.054,2.13,0.579,1 +33,crypto,sideways,0,1,71.68,0.428,0.394,0.065,0.381,1 +10,equity,bearish,1,1,59.91,0.757,0.395,1.143,0.578,1 +53,equity,bullish,0,1,68.65,0.433,1.202,0.816,0.669,1 +17,index,bullish,0,1,77.86,0.393,0.941,1.158,0.496,1 +33,index,sideways,0,0,50.48,0.37,-0.137,0.917,0.461,1 +20,equity,bullish,1,1,66.67,0.671,-0.174,1.677,0.891,1 +60,crypto,bearish,0,1,86.14,0.531,1.034,2.021,0.594,1 +26,equity,bullish,0,1,74.6,0.448,1.165,0.394,0.558,1 +17,equity,bearish,1,1,57.5,0.641,1.058,2.268,0.531,1 +44,crypto,sideways,0,0,45.47,0.298,-0.844,0.825,0.329,1 +44,index,sideways,0,1,67.25,0.276,-0.027,1.275,0.78,1 +42,crypto,bullish,0,1,75.63,0.5,1.181,2.064,0.707,1 +14,equity,sideways,0,0,39.67,0.39,-0.776,1.344,0.644,1 +51,index,bearish,0,1,78.32,0.46,1.219,1.186,1.0,1 +48,index,bullish,0,1,72.08,0.343,0.493,1.8,0.425,1 +50,crypto,sideways,0,1,68.51,0.533,0.34,1.562,0.757,1 +37,equity,bearish,0,1,63.41,0.277,0.703,0.6,0.532,1 +16,equity,bullish,0,1,65.24,0.289,-0.073,1.147,0.818,1 +18,equity,sideways,1,1,65.97,0.666,0.612,0.841,0.659,1 +17,equity,bullish,0,0,53.72,0.191,0.845,0.73,0.504,1 +21,equity,bullish,0,1,64.99,0.43,1.035,1.157,0.508,1 +43,equity,bearish,0,1,74.69,0.391,0.477,0.699,0.636,1 +42,equity,bullish,0,0,60.08,0.341,-0.769,1.137,0.513,1 +57,crypto,bearish,0,1,57.51,0.384,-0.15,0.993,0.903,1 +32,crypto,bearish,1,0,50.71,0.482,-1.065,1.968,0.381,0 +33,equity,sideways,0,1,95.02,0.523,0.594,0.788,0.617,1 +46,equity,sideways,0,1,74.7,0.544,0.657,0.53,0.842,1 +44,index,sideways,0,0,38.01,0.345,0.434,1.739,0.371,1 +53,equity,sideways,0,1,71.77,0.422,-0.298,0.752,0.871,1 +49,equity,bearish,1,1,41.69,0.444,0.856,2.03,0.699,1 +31,equity,bullish,0,1,100.0,0.486,0.947,1.718,0.745,1 +36,equity,bearish,0,1,92.36,0.484,0.437,1.081,0.755,1 +44,crypto,bearish,0,0,48.34,0.376,-0.595,0.572,0.408,1 +10,equity,bullish,0,1,47.54,0.401,1.225,0.911,0.758,1 +44,index,bearish,1,1,51.22,0.542,0.05,2.209,0.584,1 +46,index,bearish,0,1,68.19,0.271,0.59,1.103,0.625,1 +56,equity,sideways,1,0,27.38,0.674,-0.208,1.097,0.584,0 +23,equity,sideways,0,1,69.31,0.339,0.143,1.298,0.744,1 +12,equity,bearish,1,0,43.12,0.489,-0.541,2.085,0.489,0 +10,index,bullish,0,1,71.25,0.388,1.033,0.822,0.511,1 +14,equity,bullish,0,0,57.3,0.48,0.382,1.305,0.349,1 +35,equity,sideways,1,0,35.34,0.503,-0.013,1.823,0.542,1 +23,index,sideways,1,0,36.47,0.394,-0.978,1.601,0.61,0 +48,equity,bullish,1,0,45.46,0.479,-0.518,1.053,0.334,1 +36,equity,bearish,0,1,63.69,0.434,0.402,1.539,0.574,1 +18,equity,bullish,1,1,69.07,0.725,0.413,2.08,0.72,1 +24,equity,bullish,0,1,70.36,0.299,0.768,1.292,0.717,1 +24,crypto,bullish,1,1,78.65,0.446,0.278,2.472,0.456,1 +35,equity,bullish,0,1,78.2,0.279,1.833,1.473,0.724,1 +51,index,sideways,1,1,71.04,0.419,0.055,2.043,0.61,1 +22,equity,bearish,1,1,61.33,0.646,-0.004,0.593,0.946,1 +60,index,bullish,1,1,61.57,0.67,-0.378,2.298,0.737,1 +41,equity,sideways,0,0,72.31,0.414,-0.769,1.042,0.563,1 +48,equity,sideways,0,1,66.22,0.363,-0.01,1.156,0.767,1 +58,crypto,sideways,1,0,50.47,0.693,-0.759,1.86,0.318,1 +41,crypto,bullish,0,0,52.34,0.414,0.655,1.387,0.792,1 +13,crypto,bullish,1,0,42.31,0.637,-0.38,2.261,0.257,1 +39,equity,bullish,1,0,33.31,0.509,-0.303,2.017,0.619,0 +46,equity,bullish,0,0,47.57,0.404,-0.048,1.238,0.593,1 +32,equity,bullish,1,0,35.72,0.451,-0.217,1.816,0.428,1 +48,index,bearish,0,0,60.94,0.45,0.701,0.676,0.6,1 +54,equity,bullish,1,1,70.4,0.565,-0.797,1.556,0.652,1 +24,crypto,bullish,1,1,59.05,0.478,0.809,1.229,0.599,1 +52,equity,bullish,0,1,72.3,0.33,-0.658,1.605,0.77,1 +38,crypto,bullish,0,1,68.48,0.529,0.614,1.31,0.549,1 +45,equity,bullish,1,0,36.89,0.708,0.696,1.471,0.466,0 +22,crypto,bearish,0,0,63.62,0.383,0.34,0.821,0.411,1 +41,equity,bullish,0,0,61.53,0.405,0.187,0.803,0.45,1 +16,equity,bullish,0,1,51.07,0.432,1.601,0.794,0.765,1 +60,index,bearish,0,0,52.17,0.412,-0.352,0.278,0.411,1 +31,equity,bearish,0,0,46.18,0.266,0.217,0.169,0.471,1 +37,equity,bullish,0,0,51.09,0.434,0.289,1.015,0.425,1 +11,crypto,bullish,0,0,48.3,0.233,-0.261,1.538,0.717,1 +51,index,bullish,1,0,44.54,0.491,-0.617,1.431,0.551,1 +54,equity,sideways,0,1,66.7,0.44,0.328,1.152,0.733,1 +15,equity,bearish,0,0,51.49,0.448,0.044,1.367,0.603,1 +37,equity,bearish,0,1,81.07,0.335,0.873,0.503,0.611,1 +37,index,sideways,0,1,75.57,0.363,0.662,0.99,0.829,1 +53,equity,bullish,0,0,47.96,0.352,0.355,0.667,0.552,1 +53,equity,sideways,0,1,64.44,0.392,-0.385,1.803,0.466,1 +29,equity,bearish,1,0,49.92,0.548,-0.509,2.481,0.286,1 +39,equity,bullish,0,1,74.9,0.453,0.088,0.504,0.614,1 +20,index,bearish,1,0,38.96,0.509,-0.249,1.893,0.302,0 +37,equity,sideways,1,1,57.66,0.58,0.343,2.234,0.664,1 +34,crypto,bearish,0,0,73.47,0.441,-0.058,1.424,0.348,1 +48,equity,sideways,1,0,39.13,0.566,-0.145,1.741,0.485,0 +42,equity,bullish,1,1,79.11,0.529,0.699,2.353,0.912,1 +10,equity,sideways,0,1,81.04,0.414,0.57,0.548,0.693,1 +36,equity,bullish,0,0,72.25,0.46,-0.526,0.848,0.455,1 +22,crypto,sideways,1,1,53.71,0.617,-0.591,1.261,0.758,1 +50,index,bearish,1,1,58.31,0.695,0.218,2.091,0.596,1 +12,index,bullish,0,1,65.51,0.321,0.721,0.709,0.827,1 +48,index,bullish,1,1,71.27,0.515,-0.285,1.614,0.774,0 +15,equity,bullish,1,0,39.32,0.421,-0.037,2.009,0.506,1 +17,index,bullish,1,0,52.31,0.624,-0.629,2.049,0.523,0 +36,equity,bullish,1,1,66.78,0.523,-0.628,1.246,1.0,1 +18,index,bearish,1,1,59.52,0.566,0.828,2.228,0.841,1