From 6131d4c2c76d75f1f0abcf50907c0d27c473202c Mon Sep 17 00:00:00 2001 From: gk552 <104007378+gk552@users.noreply.github.com> Date: Sat, 4 Jun 2022 00:38:03 +0530 Subject: [PATCH] Add files via upload --- Anaconda.md | 47 +++ Jupyter Notebook.ipynb | 84 +++++ Metplotlib.ipynb | 219 +++++++++++ Numpy Notebook.ipynb | 544 +++++++++++++++++++++++++++ Pandas Notebook.ipynb | 826 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1720 insertions(+) create mode 100644 Anaconda.md create mode 100644 Jupyter Notebook.ipynb create mode 100644 Metplotlib.ipynb create mode 100644 Numpy Notebook.ipynb create mode 100644 Pandas Notebook.ipynb diff --git a/Anaconda.md b/Anaconda.md new file mode 100644 index 0000000..7fc8fb1 --- /dev/null +++ b/Anaconda.md @@ -0,0 +1,47 @@ + +# Anaconda + +# What is Anaconda? +Anaconda is an open source handy toolkit for dvelopers. It makes job easy for the developers by enabling them to create specific Working Environments and work in them. + + + ## But What Is Working Environment? + Let's understand this with an easy example. Let's say you are designing a house. Every room has its Environment, and according to the nature of that Environment, we add different items to that room. For example, In Kitchen, we will install a sink and gas stove and additional shelves for utensils and vegetables; just like this, we will install different items in our bedroom and living room. +Now think of this as a developer. A developer is working on various projects simultaneously, and they'll need different packages for different projects. With the help of Anaconda, they can create different **Working Environments** with these different packages that they can access anytime. They'll not have to install these packages every time they switch from one project to another; instead, they switch from one Environment to the other, and they will easily have access to all these packages. +They can also modify these **Working Environments** by adding, removing, or updating any package anytime. + +--- + +# Installing Anaconda. + +* Search **Anaconda Install** in your Web Browser. +* Click on Anaconda Distribution link that appears. +* A download option appears on the right part of your screen. Click on download button and wait till it downloads. +* Click on the exectable file which is downloaded and follow simple steps that will follow on screen. Just make sure about the following: + + While installing select Install for **Just Me** option. + + Select **Add Anaconda to my PATH environment variable**. ++ Now wait till it installs and then we can work with Anaconda Prompt. +--- +# Working in an Environment in Anaconda +## Creating an Environment +Open the Anaconda command prompt. You'll be direct to a base environment in Anaconda. +To setup a new Environment, type **"conda create -- name NAME python version"** (without inverted commas) +Here, NAME is the name of the environment you want to create and Python version will specify which version of pyhton you want to work with in this environment. +*for example:* ***conda create --name basisoflearning python=3.9*** will create an environment named 'basisoflearning' which will work with python 3.9 +### To enter the environment, +type ***conda activate basisoflearning*** and you'll enter basisoflearning environment. +### To install any package in the Environment, +we will have to give different commands to download different packages in Anaconda which are easily available on the web. +*for example :* to install NumPy we can give command ***conda instll -c anaconda numpy***. this will install numpy i the environment. + +### To exit the environment, +type ***conda deactivate*** and you'll head out of that environment. + +--- + +## Other Important Commands Examples. + + +* ***conda list*** command fetches us list of all the packages installed in the environment. +* ***conda update numpy*** will update numpy library to its latest version. +* ***conda env list*** gives list of all the environments created on the system. \ No newline at end of file diff --git a/Jupyter Notebook.ipynb b/Jupyter Notebook.ipynb new file mode 100644 index 0000000..e8d2031 --- /dev/null +++ b/Jupyter Notebook.ipynb @@ -0,0 +1,84 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5e222e60", + "metadata": {}, + "source": [ + "# How to Install Jupyter Notebook?\n", + "* open command prompt.\n", + "* type **pip install jupyter** \n", + "This will install Jupyter in the system." + ] + }, + { + "cell_type": "markdown", + "id": "780f90dd", + "metadata": {}, + "source": [ + "# Creating a Notebook\n", + "In command prompt type **jupyter notebook**. This will open jupyter notebook in the browser. \n", + "# Creating a Notebook\n", + "* Click on the New button (upper right).\n", + "* It will open up a list of choices. Choose the version of python you want to create the notebook in.\n", + "* It will open a new Jupyter Notebook in the browser.\n" + ] + }, + { + "cell_type": "markdown", + "id": "c442f20a", + "metadata": {}, + "source": [ + "# Cells \n", + "cells in jupyter notebook are used to excute chuks of code by default but we can cahneg the celltype to markdown or raw NB converter according to our need. These cells will execute only the code written in them on clicking on Run button in the taskbar or pressing **Shift + Enter**. *for example:*" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e8c00aa2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Basis Of Learning\n" + ] + } + ], + "source": [ + "print(\"Basis Of Learning\")" + ] + }, + { + "cell_type": "markdown", + "id": "a0683d7d", + "metadata": {}, + "source": [ + "These Cells get excuted in a specific sequence whic is usually mentioned in front of them. We can change the sequence in which they will be executed, Add as many ceels as required and Delete cells." + ] + } + ], + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Metplotlib.ipynb b/Metplotlib.ipynb new file mode 100644 index 0000000..9b1c872 --- /dev/null +++ b/Metplotlib.ipynb @@ -0,0 +1,219 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3f6185f4", + "metadata": {}, + "source": [ + "# Matplotlib" + ] + }, + { + "cell_type": "markdown", + "id": "9cf85aeb", + "metadata": {}, + "source": [ + "Matplotlib is a data visualization library. It helps to create visual reprenstation of data i.e. explain data through graphs, pie charts, scatters and histograms." + ] + }, + { + "cell_type": "markdown", + "id": "2c33ebd5", + "metadata": {}, + "source": [ + "### Visual Representation of data using Matplotlib." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ca7e3a0e", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline #enable the inline plotting, where the plots/graphs will be displayed just below the cell where your plotting commands are written.\n", + "from matplotlib import pyplot as plt #pyplot from matplotlib is responsible to create graphs." + ] + }, + { + "cell_type": "markdown", + "id": "936f998d", + "metadata": {}, + "source": [ + "### Creating Plot using Matplotlib." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f0985e66", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAs9UlEQVR4nO3dd1zVZRvH8c/NFhQV3CKC5saNW9Tc5t7lnjh6rKfxmE0r2z0NTXOAKzXTNLdpppYojkAr9wJxgrhxoIz7+eNH47FywDn8zrjer1cv5QDnd3WCbzcX9/W7ldYaIYQQ9sfF7AKEEEJkjwS4EELYKQlwIYSwUxLgQghhpyTAhRDCTrnl5sUKFSqkg4KCcvOSQghh92JjYy9orQvf/XiuBnhQUBAxMTG5eUkhhLB7SqmEv3tcWihCCGGnJMCFEMJOSYALIYSdkgAXQgg7JQEuhBB2SgJcCCHslAS4EELYKQnwh/HzQji42uwqhBB25NSlm0xYfYCrN9Ms/ty5Oshj1zIzYfcXcDIawp6DR18GF1ezqxJC2KjdJy8TGRXHun2JuChFgzL+tKxc1KLXkAB/UC4u0H8ZfPsfiPoIzu6B7jPB28/syoQQNiIjU7PhQBIRUXHEJlzG18uN8CZlGdQwiGL5vSx+PQnwh+HuBZ0+g5K1Ye1/YEZT6DUPStQwuzIhhIlu3klnSexpZm6NJ+HiTUr55WF8x8r0Ci2Fj6f1YlYCPDtqD4KiVWFxf5jVBjp8AjX6mF2VECKXnb+WytztJ1iw8yRXbqZRM7AAL7StSJsqxXB1UVa/vgR4dgXUhhFbYMlgWD4KTsdA2/fAzcPsyoQQVnY4MYWIqDhW/nyWtMxM2lQuxvAmwdQunbstVQnwnPApBP2WwcY3IHoSJO6FXnPBt4TZlQkhLExrTdTRC0RExRF19AJ53F15om4phjQOprS/jyk1SYDnlKsbtJ4AJWvB8idhehPoOReCGpldmRDCAu6kZ7Lyl7NERsVxKDGFwvk8+U+bCvStF0gBb3N/4pYAt5QqXaFwJVjUF+Z2hNZvQf1RoKzfBxNCWN6Vm3dYsPMkc6NPcD7lNhWK5uPDHtXoVKMEnm62sYVYAtySilSE4ZuNnvj6F+FMLHSaBB7m/HglhHh4CRdvMGtrPItjTnMrLYOwcoX4b8/qhJUrhLKxBZkEuKV5+RpbC7d9AhsnwPkD0Hs++Jc1uzIhxD3EJlwiYks86w8k4uai6FyjJMPCgqlYzNfs0v6RBLg1uLgY05rFa8DSoTDjUeg2Ayq0NbsyIcSfZGRqvtufSERUHLtPXiF/HndGNS3LwIZBFPW1/OCNpUmAW9MjLSD8R2O/+MLe0PQFaDrOCHghhGlu3E7n65hTzNp2gpOXbhLo580bnarQMzQAbw/7icX7VqqUmgV0AM5rrUPuet/zwIdAYa31BeuUaOcKloYh62HNc/Dj+8YIfrcZkKeg2ZUJ4XSSrqUyJ/oEC3YkcC01ndqlC/LSYxVpVTl3Bm8s7UH+VzMHmAx88ecHlVKlgFbAScuX5WDc80DnKcYI/rcvwIxmRl+8WFWzKxPCKRw8d42IqDhW/XKWjExN25BiDAsrQ61A+15I3TfAtdZblFJBf/OuT4CxwApLF+WQlII6Q6FYNaOlEtkKOk6E6r3NrkwIh6S1ZsvRC0RmDd54e7jSt15phjQKJtDf2+zyLCJbzR6lVCfgjNb6l/ttq1FKhQPhAIGBgdm5nGMpVccYwf96ECwLN7YatnkbXN3NrkwIh3A7PYMVP59lZlQ8h5NSKOrrydi2FehbtzT5vR3r++yhA1wp5Q28DLR+kI/XWs8AZgCEhobqh72eQ8pbBAasgA3jYccUSPwVes6BfMXMrkwIu3X5xh0W7Exg7vYEklNuU7FYPj7qWZ2O1Uvg4eaYGweyswIvCwQDv62+A4DdSqm6WutESxbn0Fzdoe07xgj+yjHGCH6vLyCwvtmVCWFXTly4wcyt8Xwde4rUtEyali/M8F5laPSIv80N3ljaQwe41novUOS3t5VSJ4BQ2YWSTVV7QJFKsKgfzGkPbd6FusNlBF+Ie9BaE5twmRlb4thwMAl3Fxc61yjBsLAyVCiWz+zycs2DbCNcCDQDCimlTgPjtdYzrV2YUylaxRjBXzbCOPHnTAx0+BQ8HOMXLUJYSnpGJuv3Gyfe/HzqCgW83Xmy2SMMaFiaIvlsf/DG0h5kF8oT93l/kMWqcWZ5CsDjCyHqv7D5HUg6AL3ngV+w2ZUJYbrrt9NZ/NMpZm2L5/TlWwT5ezOhcxW617avwRtLc95/c1vk4gJNx0KJmlkj+M2geySUa2V2ZUKYIvFqKrOj4/ly50lSUtOpE1SQVztUpmWlonY5eGNpEuC2qFwrYwR/UX9Y0BMefQnCnpcRfOE09p+9SmRUPKt+OUum1rQLKc6wsGBq2vngjaVJgNsqv2AY+h2s/jdsfhvO7Iau04xWixAOSGvND0eSidgSR/Txi/h4uNK/gTF4U8pPfh/0dyTAbZmHN3SdDiVDjfuLRzwKvRdA0cpmVyaExaSmZbDi5zNERsVz9Px1ivl6Ma5dRZ6oG0j+PI41eGNpEuC2TimoFw7Fq8HiARDZAjpPhpDuZlcmRI5cunGH+TsS+GL7CS5cv0Pl4r580rs67as67uCNpUmA24vA+sYI/uKBsGQInI6FVm/ICL6wO3HJ15m5NZ6lu0+TmpbJoxUKMzysDA3KOv7gjaVJgNuTfMVg4Cr47hVjBP/cL9BztjGaL4QN01qzK/4SEVHxbDxkDN50rWmceFOuqPMM3liaBLi9cfOAxz4wbk276mmY3tQYwS9Vx+zKhPiL9IxMvt2XSGRUHL+cvkpBb3fGPPoI/RsEUTifp9nl2T0JcHtVvbfxy8yv+sLsdtDufQgdIiP4wiZcv53OV7tOMnvbCc5cuUVwIR/e6hJC91oB5PGwjRPdHYEEuD0rVhXCf4BvwmHNs8atadt/ZBwgIYQJzl65xZzoEyzceZKU2+nUDfbj9U5VaFGxCC4yeGNxEuD2ztsP+iyGH98zjmxL2ge95hlHuQmRS/aduUpEVBxrfj2HBtqFFGN4WBmqlypgdmkOTQLcEbi4GNOaJWrCNyNgRlPoMQvKNje7MuHAMjM1mw+fJyIqjh1xl8jr6cbAhkEMbhREQEEZvMkNEuCOpEI7CN9s3Jp2fndo/go0flb64sKiUtMyWLbnDJFRcRxPvkHx/F689FhFHq8biK+XbGvNTRLgjsa/LAz73jgkYuObxgh+l6ng5Wt2ZcLOXbx+m3k7Epi3PYGLN+4QUtKXiY/X4LGqxXF3lcEbM0iAOyIPH+g+0xjB/+4ViGgOvedDkYpmVybs0PHk60RGxfPN7tPcTs+kRcUiDAsrQ/0yfjJ4YzIJcEelFDQYbYzgfz0oawR/ClTpYnZlwg5ordkZf4mILXFsPHQeDzcXutcqydDGwTxSRAZvbIUEuKMLapw1gj8Avh4IZ56CFuPBVf7Ti79Ky8hk7d5zREbFs/fMVfx8PHi6RTn6NyhNobwyeGNr5LvYGfiWgEFrYN2LED0Jzv0MPWaDTyGzKxM24lpqGot2nWL2tnjOXk2lTGEf3ulalW61SuLlLoM3tkoC3Fm4eUKHj40R/NXPGCP4vb8w3hZO68yVW8zeGs9XP53i+u106gX7MaFLCI9WkMEbeyAB7mxq9jUOUV7UH2a1hcf+C7UHml2VyGV7T2cN3uw9B0D7qsUZHlaGqgH5Ta5MPAwJcGdUogaM+NG4Le2qp4wR/Mc+NFbpwmFlZmo2HTIGb3bGG4M3QxoFMahRMCULyO0X7JEEuLPy9oN+S43j2qI+gsS90Hse5A8wuzJhYalpGSzdfZqZW+OJS75ByQJ5eKV9JXrXKUU+Gbyxa/cNcKXULKADcF5rHZL12IdAR+AOcBwYrLW+YsU6hTW4uEKL16BELVg2EqY3MX65Waap2ZUJC7hw/TZfbE9g/o4ELt24Q7WA/Ex6oiaPhRTDTQZvHILSWt/7A5RqAlwHvvhTgLcGNmmt05VS7wNorV+438VCQ0N1TExMzqsWlnfhqDGCf+EItHwdGj4lI/h26tj5FGPwZs8Z7qRn0rJSEYaHlaFusAze2CulVKzWOvTux++7Atdab1FKBd312Hd/enMH0CPHFQpzFSpnjOCveBI2vGb0xTtPAU8Z2rAHWmu2x10kMiqeTYfO4+nmQo/aAQxtHEzZwnnNLk9YiSV64EOARf/0TqVUOBAOEBgYaIHLCavxzAc950L0Z/D9eDh/CB5fYIS7sElpGZms+fUcEVFx7D97DX8fD55pWZ5+9QPxl8Ebh3ffFgpA1gp89W8tlD89/jIQCnTTD/BE0kKxI3E/wpLBkH4Huk6FSh3Nrkj8ybXUNBbuPMmc6BOcu5rKI0XyMqxxMF1qyuCNI8p2C+UeTzgQ45ebLR4kvIWdKdPUGMFf1N/ojTd+1rg9rYuEg5lOXbrJ7G0nWPTTSW7cyaBBGX/e7hpCs/IyeOOMshXgSqm2wAtAU631TcuWJGxG/gAY/C18Oxa2fgxn9xgHRXj7mV2Z0/n51BUiouJYty8RBXSoVpxhYWUIKSmDN87sQbYRLgSaAYWUUqeB8cCLgCewIeu32ju01iOtWKcwi7sXdJpkjNyvfT5rBH+eMQwkrCozU/P9wSQio+LZdeIS+bzcGNY4mEGNgiieXwZvxAP2wC1FeuB27kwsLBoAN5KhwyfGWL6wuFt3Mliy+zSztsYTf8EYvBnSOJjedUqR11Nm75yRxXvgwgmVrJ01gj8YVow2Ar3te+DmYXZlDiE55TZfbD/B/B0JXL6ZRvWA/EzuU5O2VWTwRvw9CXDxcHwKQb9lsOlN2DYREn+FXl8Yt6wV2XIkKYXIqDiW7zlLWmYmLSsVZXhYGeoEFZTBG3FPEuDi4bm6Qas3jRH8FU8aI/g95xiHR4gHorUm+vhFIqLi+OFwMl7uLvSqE8DQxmUILuRjdnnCTkiAi+yr0gUKV4RFfWFuJ2g9AeqPlhH8e7iTnsnqX88SERXPwXPXKJTXk+daladv/dL4+UgrSjwcCXCRM0UqwvDNsHwUrH/J6It3+sw4WFn87uqtNL7ceZI50fEkXbtNuSJ5+aB7NTrVKCGDNyLbJMBFznn5Gqfeb/0ENk2A8weNt/3Lml2Z6U5dusnMrfEsjjnFzTsZNHrEn/e7V6Np+cLS3xY5JgEuLEMpCHvW2B++ZCjMeBS6zYAKbc2uzBR7Tl7+ffDGRSk6VS/B0LBgqpSQwRthORLgwrLKNje2Gi7qBwt7Q5Ox0GycU4zgZ2RqNhxIIjIqjpiEy/h6uRHepCyDGgZRLL+X2eUJByQBLiyvQCAMWQ9rnoMtHxgj+N1mOPQI/pYjyby6Yh8JF29Syi8P4ztWpldoKXxk8EZYkXx1Cetwz2PcT7xkbfj2BZjRzOiLF69mdmUWtyT2NC8s/ZUyhXyY0qcWbaoUlcEbkSvkq0xYj1JQZ6hxQ6yMNJjZCn75x1vH2x2tNVN/OM7zX/9C/TJ+fDO6Ie2rFZfwFrlGvtKE9ZWqY/TFS4bCsnBYO9a4z7gdy8zUvLHqAO+vO0Sn6iWYPaiuHBAscp0EuMgdeYvAgOXQ4F+wazrM7QgpiWZXlS230zMY89Ue5kSfYGjjYD7tXQMPN/lWErlPvupE7nF1hzZvG/cUT/zVGMFP2G52VQ/lWmoag2b9xJpfz/HyY5V4tUNlOUhBmEYCXOS+kO4wbKMxrTm3A+ycDnZwqNP5a6n0nr6Dn05c4pPe1RnepIzZJQknJwEuzFG0sjGC/0gr48SfZSPgju0e7nQ8+TpdP48m4eINZg2qQ9eaAWaXJIQEuDBRngLw+Jfw6Cvw62KY2RouxZtd1V/sOXmZHlOjSU3L4Kvw+jQpX9jskoQAJMCF2VxcoOl/oO/XcPUUzGgKRzeYXdXvNh1Kok/ETvJ5ubN0VEOqBRQwuyQhficBLmxDuVYQ/gPkD4QFPeGH9yEz09SSFsecYvgXsZQt4sPSUQ0Jkvt0CxsjAS5sh18wDP0OqvWGH96Br56AW1dyvQytNVM2H2Pskl9pWNafr8IbUDifZ67XIcT9SIAL2+LhDV2nQbsP4dj3EPEoJO3PtctnZGpeX7mfD9cfpnONEswcWEcOEhY2674BrpSapZQ6r5Ta96fH/JRSG5RSR7P+LGjdMoVTUQrqhcOgNcbOlMiWsHeJ1S+bmpbBmIW7mbs9geFhwXzSSwZ0hG17kK/OOcDdN3UeB2zUWpcDNma9LYRlBdY3RvCLV4elQ2HdS8Y9VazgWmoag2bvYu3eRF5+rBIvt5cBHWH77hvgWustwKW7Hu4MzM36+1ygi2XLEiJLvmIwcBXUGwk7psAXneH6eYteIulaKr2mbSc24TITH68hAzrCbmT358OiWutzAFl/FvmnD1RKhSulYpRSMcnJydm8nHBqru7Q7n3oFgFndhsj+Kd+sshTHzt/nW6fR3Pq0k1mDapD5xolLfK8QuQGqzf4tNYztNahWuvQwoVlAELkQLVeMGwDuHnC7HbwU2SORvB3n7xMj2nR3E7PYNGIBoSVk69PYV+yG+BJSqniAFl/WvZnWiH+SbGqxn7xso8aJ/4sHw1ptx76aTYeTKJPxA4K5DEGdEJKylmVwv5kN8BXAgOz/j4QWGGZcoR4AHkKwhOLoOk4+OVLYwT/csIDf/rin04RPi+WckXysWRUQ0r7y4COsE8Pso1wIbAdqKCUOq2UGgq8B7RSSh0FWmW9LUTucXGBR180gvxygjGCf2zjPT9Fa83kTUcZu/S3AZ36FMorAzrCfimdi7fxDA0N1TExMbl2PeEkLh6HRf3g/EFo/go0ftYI+D/5bUBn3o4EutYsyfvdq8keb2E3lFKxWuvQux+Xr2Bh//zLwrDvjfuMb5oAi/tD6rXf352alsGTC3Yzb0cCI5qU4aOe1SW8hUOQr2LhGDx8oHsktHkXDn9rjOCfP8TVW2kMmLWLdfsTeaV9JV58rJIM6AiHITd5EI5DKWgw2pjc/HoQmRGP8pn7GPZcrcGkJ2rSqXoJsysUwqJkBS4cT1Aj4ruv4UB6AK/cfJ8fqm2kU8g/zpoJYbckwIXDiU24RJd5Jxjm8iYXKw+g5MFImNcFblwwuzQhLEoCXDiU7w8k0TdyJ34+Hiwe3RT/Xp9Bl6lw+idjBP90rNklCmExEuDCYXy16yTh82KoUDQfS0Y2INDf23hHjT7GQREurjC7LcTOMbVOISxFAlzYPa01kzYeZdw3ewkrV5gvh9fH/+4BneLVIfxHCGoMq56GlWMgLdWcgoWwEAlwYdcyMjWvLN/HxxuO0K1WSSIHhuLzTyfoePtB3yUQ9hzs/sJYjV85lbsFC2FBEuDCbqWmZTB6QSwLdp5kZNOyfNSzOu6u9/mSdnGFFq/B41/ChWPGCH7cD7lSrxCWJgEu7NLVm2kMmLmL7w4k8VqHyoxrVxGlHmJAp2J7CN8MPoVhXlfYNjFHt6YVwgwS4MLunLt6i57To/n51BUmPV6TIY2Ds/dEhcrBsI1QqRNseA2+Hgi3UyxbrBBWJAEu7MrRpBS6fR7N2SupzBlch445na70zAs950Drt+DgKohoAclHLFKrENYmAS7sRsyJS/SYtp30TM2iEfVp+EghyzyxUtBwDAxYATcvQkRzI8yFsHES4MIufLc/8fcBnW9GNaRKCSucoBPcBEb8CIXLG7en/f51yMyw/HWEsBAJcGHzvtx5kpHzY6lY3JclIxtQys/behfLHwCDv4Xag2DrJzC/O9y4aL3rCZEDEuDCZmmt+fT7I7y0bC9Nyhdm4fB6fx3QsQY3T+g4ETp9BgnRMKMZnN1j/esK8ZAkwIVNysjUvLx8H59+f5QetQOIGBCKt0cu3/241gAYsg50JsxsA3vm5+71hbgPCXBhc1LTMhg1P5Yvd55kdLOyfNij2v0HdKylZC2jLx5YH1Y8CaufgfTb5tQixF0kwIVNuXLzDv0id7LhYBKvd6zM2LYPOaBjDT6FoN830OhpiJkFsx+Dq2fMrUkIJMCFDTl75RY9p23n19NXmfxELQY1yuaAjjW4ukGrN6HXF5B8yBjBj48yuyrh5CTAhU04kjWgk3g1lblD6tK+WnGzS/p7lTvD8E3gVQC+6Azbp8gIvjBNjgJcKfWMUmq/UmqfUmqhUsrLUoUJ57Er/hI9pkaTqTWLRjSgQVl/s0u6t8IVjBCv0A7WvwRLhsDt62ZXJZxQtgNcKVUSeAoI1VqHAK7A45YqTDiH9fsT6TdzJ4XyebJ0VEMql/A1u6QH4+ULvedDy9fhwHKIbAkXj5tdlXAyOW2huAF5lFJugDdwNuclCWcxf0cCo+bHUrm4L0tGNrTugI41KAWNn4F+S+F6EkxvatxnXFoqIpdkO8C11meA/wIngXPAVa31d3d/nFIqXCkVo5SKSU5Ozn6lwmForfl4wxFeWb6PZhWK8OXwevj5eJhdVvaVbW5sNSxRwzjp58tecE3WMsL6ctJCKQh0BoKBEoCPUqrf3R+ntZ6htQ7VWocWLlw4+5UKh5CekclLy/YyaeNRetYOYHr/2rk/oGMNBQJhwEpo94GxO+Xz+vDLV7IaF1aVkxZKSyBea52stU4DvgEaWqYs4Yhu3clg5PzdLNx1in89+ggfmDmgYw0uLlBvBIzaBoUrwbIR8FVfSEkyuzLhoHLy3XMSqK+U8lbGpEUL4KBlyhKO5srNO/SbuZONh5J4s3MVnm9TwfwBHWvxLwuD1xr3GD/2vbEa37fU7KqEA8pJD3wnsATYDezNeq4ZFqpLOJAzV27RY9p29p6+ypQ+tRjQIMjskqzPxdW4x/jIreAXbGw1XDwQblwwuzLhQJTOxR5daGiojomJybXrCfMdTkxh4Kxd3LiTTsSAUOqXsfE93taQkQ7RE2Hzu5CnAHT4BCp1NLsqYUeUUrFa69C7H3egBqSwNTvjLtJjWjQazdcjGzhneIMxhh/2nLFTJV9x47CIpcPh5iWzKxN2TgJcWMW6fefoP2sXRbIGdCoWs5MBHWsqWsWY4Gz2Iuz/Bj5vAEfWm12VsGMS4MLi5u1IYNSC3YSUMAZ0Agra2YCONbm6Q7NxMGwjePsbe8aXPwmpV82uTNghCXBhMVprPvruMK8u30fzCkVYMKw+Be15QMeaStSA8M0Q9jz8stBYjR/baHZVws5IgAuLSM/IZNzSvXy26Ri9Q0sxvX9t8ni4ml2WbXPzhBavwrAN4JEX5neDVf+G2ylmVybshAS4yLFbdzIYMS+WRTGneKr5I7zXvSpujjSgY20la8OILca2w9g5MLUhxG8xuyphB+S7TOTI5Rt36BO5g02HzzOhSwjPtnbgAR1rcvcyBn+GrAcXN5jbEdaOhTs3zK5M2DAJcJFtpy/fpPu0aPafvcbUvrXoX7+02SXZv8B6MHIb1BsJu6bDtMZwcofZVQkbJQEuHprWmnX7Eun2eTQXUm4zf2g92obY6Ak69sjDG9q9D4PWQGYGzGoL61+GtFtmVyZsjAS4eCjxF24wcPZPjJwfi5+PB1+PbEjdYD+zy3JMQY1hVDSEDobtk2F6Ezgtk8ziDw5wH0+RG27eSWfK5mNEbInH082F1zpUZkCD0vLLSmvzzPvH6P2KMTCzFTR62hgGcvM0uzphMglwcU9aa9bvT2TC6oOcuXKLbjVLMu6xihTJJ8ef5qqyzWF0tHEG59ZPjAnOLlON/eTCacnySfyjuOTrWe2S3eTzcmPxiAZ83LuGhLdZvPJD5ynQ52u4dRkimsPmdyD9jtmVCZPIClz8xd3tkvEdK9O/vrRLbEb51jB6O3z7Avz4PhxeC12mQbEQsysTuUwCXPzut3bJm6sOcPZqKt1qlWRcO2mX2KQ8BaHbDKjUCVb/G2Y0g2YvQKNnjLsfCqcg/6UFYLRLxq/cT9TRC1Qslo+JT9SkTpDsLrF5lTpAYANY+xxsegsOrYWu06BwBbMrE7lAAtzJ3byTzuRNx4iIisPLzZXXO1amn7RL7IuPP/ScY6zG1zwH08Kg+cvQ4F/GyUDCYUmAO6nfhnEmrDbaJd1rBTCuXUUK55OtaXYrpJuxd3z1M7DhNTi0xtip4l/W7MqElcgyywkdT77OgFm7GLVgN/m9PVgysgEf9aou4e0I8haB3vOhWwQkH4KpjWDHVMjMNLsyYQWyAnciN++k89mmY0RGxeHlLu0Sh6UUVOsFQWGw6ilYNw4OrobOk40DloXDkAB3Alprvs1ql5yTdonz8C0OfRbDzwtg3YvGarz1BAgdYoS8sHs5CnClVAEgEggBNDBEa73dAnUJCzl2/jqvr9zP1mMXqFTcl8+eqEmo7C5xHkpBzX4Q3BRWjoE1z8LBldBpMhQoZXZ1IodyugKfCKzTWvdQSnkAcvihjbhx22iXzNxqtEve6FSFvvUCpV3irAqUgv7LIHY2rH/FOMKt7TtQs7+sxu1YtgNcKeULNAEGAWit7wAy02syrTVr9yby1hqjXdKjdgAvtJV2icAI6tAhxn1VVvzLWJEfXAUdJ4JvCbOrE9mgtNbZ+0SlagAzgANAdSAWeFprfeOujwsHwgECAwNrJyQk5KRecQ9/bpdULu7LhC5VqF1a2iXib2Rmwk8RsGE8uHlAuw+gWm9ZjdsopVSs1jr0L4/nIMBDgR1AI631TqXUROCa1vrVf/qc0NBQHRMj9zO2tLvbJc+3riDtEvFgLh6H5aPg1E6o0B46fmpsRRQ25Z8CPCc98NPAaa31zqy3lwDjcvB84iH9XbtkXLuKFMor7RLxgPzLwuBvYcfnsHECTKkH7f8LId3Nrkw8gGwHuNY6USl1SilVQWt9GGiB0U4RueDY+euMX7mPbccuUrm4L5P71JR2icgeF1doOAbKtYZlI2HJEDiwEtp/bIzpC5uV010oY4AFWTtQ4oDBOS9J3MuN2+lM2nSUWVvj8XJ35c3OVehbrzSuLtK7FDlUuAIM3QDRE2Hzu5Cw7Y/TgIRNynYPPDukB559WmvW7D3HW6sPkngtlZ61A3hB2iXCWpL2G6vxxF+hai/jkGVv+QnPLNbogYtccux8CuNX7v+9XTKlby1qly5odlnCkRWtAsM3QdRHsOVDiN8CnSZB+TZmVyb+RALchv3WLpkZFY+3hysTOlehj7RLRG5xdYdm46B8W1g+Gr7sBTX6GQNAXvnNrk4gAW6T7m6X9AoNYGxbaZcIk5SoAeGbjePbtn4CcZuh02fwSAuzK3N6EuA25tj5FF5bsZ/o4xepUkLaJcJGuHlCi9eMveLLR8L8blB7sHFzLM98ZlfntCTAbcT12+l8tvEoM7dKu0TYsIDaMCIKNr8F0ZPh+EboPAWCm5hdmVOSADeZ1prVv57jrTUHSLp2m16hxr1L/KVdImyVuxe0fgsqdjCmOOd2hLojoOV48PAxuzqnIgFuoqNJxu6S39oln/etLe0SYT8C68PIbbDxDdg5DY5tMI5wC6xvdmVOQwLcBNdvpzNpozGM4+3hyoQuIfSpGyjtEmF/PLyNPeKVOho7VWa1hQZPQvNXwD2P2dU5PAnwXKS1ZtWv53g7q13SO7QUY9tWkHaJsH9BjWFUNGx4FbZPhqPfGavxgL/MnggLkgDPJUeTjN0l2+MuElLSl6n9alMrUNolwoF45v1j9H7FGJjZChr929hL7iaLFGuQALeyP7dLfDzdpF0iHF/Z5jA6Gta/BFs/hiPrjNV4iRpmV+ZwJMCt5O52yeN1SvGfNtIuEU7CK7+xvbBSJ1j5FES2gLDnIew54wAJYRES4FZwJCmF8Vntkqol8zOtX21qSrtEOKPybeDJHfDtC/Dje3B4DXSZBsVCzK7MIUiAW9D12+lM/P4Is7edwMfTjbe7hvB4HWmXCCeXpyB0m2Gsxlf/G2Y0g2YvQKNnwFUiKCfk1bMArTUrfznLO2sPcj7lt3ZJRfx85EdFIX5XqQMENoC1z8Gmt+DQWug6zbgPucgWCfAcOpKUwmsr9rEj7hLVAvIzvX8oNUoVMLssIWyTjz/0nGOsxtc8B9PCjD3jDZ40TgYSD0UCPJv+3C7J6yXtEiEeSkg3Y+/46meMveOHVhs7VfzLml2ZXZEAf0i/tUveXnOQ5OvSLhEi2/IWgd7zYe/XsPZ5mNoIWr4OdcPBxcXs6uyCBPhDOJKUwqvL97Ez3miXzBgg7RIhckQpqNYLgsJg1VOw7gU4uAo6Twa/YLOrs3kS4A8gJTWNid8fZXb0CfJ5ufFO16r0rlNK2iVCWIpvceizGH5eAOteNFbjrSdA6BAj5MXfkgC/h7+2SwIZ26YCBaVdIoTlKQU1+0FwU1g5BtY8CwdXQqfJUKCU2dXZpBw3mpRSrkqpPUqp1ZYoyFYcTkzh8Rk7ePqrnymW34vloxvxbreqEt5CWFuBUtB/mXFflVM/wdSGsHseaG12ZTbHEivwp4GDgK8Fnst0KalpfPr9UeZIu0QI8yhltE/KNocV/4KV/zJW4x0nGe0WAeRwBa6UCgDaA5GWKcc8WmuW7zlD849+ZNa2eHqFlmLzc83oU0+2BgphmoJBMGAltPsA4qPg83rwyyJZjWfJ6Qr8U2AsYNenmh5OTOHVFfvYFX+J6gH5iRwQSnXZXSKEbXBxgXoj4JGWxhFuy8LhwAro+KmxFdGJZXsFrpTqAJzXWsfe5+PClVIxSqmY5OTk7F7OKlJS05iw+gCPTYriSFIK73aryrLRjSS8hbBF/mVh8LfGeZzHvocp9WDfN2ZXZSqls/mjiFLqXaA/kA54YfTAv9Fa9/unzwkNDdUxMTHZup4laa1Z8fNZ3l57kAvXb/NE3UD+01p2lwhhN5IPw7KRcHY3VO4C7T82xvQdlFIqVmv9l+ONsh3gdz15M+B5rXWHe32cLQT4ocRrvLZi/+/tkgldQqgWUMDUmoQQ2ZCRDtETYfO7kKfAH6cBOaB/CnCn2Qd+LTWNTzccZe72E/h6ufFet6r0Ci2Fi/yCUgj75OpmHBBRvq2xGl/UD6r2Mg5Z9vYzu7pcYZEA11r/APxgieeyNK01y38+wztrD3Hh+m361A3keWmXCOE4ilaB4Zsg6iPY8iHEb4FOk4zDJBycQ6/ADyVe47Xl+9l14hLVSxVg5sBQaZcI4Yhc3Y3Dk8u3NXaqfNkLavSDtu8Yx7s5KIcMcGmXCOGkStSA8B/gx/dh6ycQtxk6fQaPtDC7MqtwqAD/rV3y9ppDXLxhtEv+06YCBbylXSKE03DzhBavQYX2sHwkzO8GtQcbN8fytOuRlb9wmAA/eO4a41f80S6ZNUjaJUI4tYDaMCIKNr8F0ZPh+EboPAWCm5hdmcXYfYBfS03jkw1H+GJ7Ar5ebrzfvSo9a0u7RAgBuHsZgz8VOxi98bkdoe4IaDkePHzMri7H7DbAtdYs22PsLrl44zZ96xm7S6RdIoT4i8D6MHIbbHwDdk6DYxuMI9wC65tdWY7YZYAfPHeN11bs46cTl6lRqgCzB9WhaoDj/qZZCGEBHt7GHvGKHWDFaJjV1jhMufkr4J7H7Oqyxa4C/FpqGh9/d4R5OxLIn8dd2iVCiIcXHAajthuHKW+fDEe/M1bjAX8ZdLR5dhHgWmu+2X2Gd7+VdokQwgI88/4xer9iDMxsBY3+bewld/M0u7oHZhcB/tKyvSzcdUraJUIIyyrbHEZHw/qXYOvHcGSdsRovUcPsyh6IRW5m9aCyezOrmBOXiEu+QY/aAdIuEUJYx5H1sPIpuHkBwp437rPiZhs/5f/TzaxyfCZmbggN8qNXHel1CyGsqHwbeHIHhHSHH9+DyOaQtN/squ7JLgJcCCFyRZ6C0G0G9F4AKYkwvSls+a9x61obJAEuhBB3q9QBRu80/tw0wfglZ/Jhs6v6CwlwIYT4Oz7+0HMO9JgNl0/AtDDYNgkyM8yu7HcS4EIIcS8h3eDJnVCulbF3fHY7uHjc7KoACXAhhLi/vEWg93zoFgHJh2BqI9gxDTIzTS1LAlwIIR6EUlCtl9EbDw6DdS8YN8e6FG9aSRLgQgjxMHyLQ5/Fxq1pE381VuM/zYRcnKn5jQS4EEI8LKWgZj8YFQ2l6sKaZ2FeF7hyKlfLkAAXQojsKlAK+i8z7qty6ieY2hB2z8u11bgEuBBC5IRSEDrEuKdK8eqw8l/GocrXzln90tkOcKVUKaXUZqXUQaXUfqXU05YsTAgh7ErBIBiwEtp9APFR8Hk9+GWRVVfjOVmBpwPPaa0rAfWBJ5VSlS1TlhBC2CEXF6g3AkZtg8IVYVk4fNUXrp+3zuWy+4la63Na691Zf08BDgIlLVWYEELYLf+yMPhb4zzOY9/DlHrGqtzCLNIDV0oFATWBnX/zvnClVIxSKiY5OdkSlxNCCNvn4goNx8DIKOP+4n5lLH6JHN8PXCmVF/gReFtr/c29Pja79wMXQghnZpX7gSul3IGlwIL7hbcQQgjLyskuFAXMBA5qrT+2XElCCCEeRE5W4I2A/kBzpdTPWf88ZqG6hBBC3Ee2DzXWWm8F5IwzIYQwiUxiCiGEnZIAF0IIOyUBLoQQdkoCXAgh7FSOB3ke6mJKJQMJuXZB6ygEXDC7CBsir8cf5LX4f/J6/L+cvB6ltdaF734wVwPcESilYv5uIspZyevxB3kt/p+8Hv/PGq+HtFCEEMJOSYALIYSdkgB/eDPMLsDGyOvxB3kt/p+8Hv/P4q+H9MCFEMJOyQpcCCHslAS4EELYKQnwBySHOP+VUspVKbVHKbXa7FrMppQqoJRaopQ6lPU10sDsmsyilHom63tkn1JqoVLKy+yacpNSapZS6rxSat+fHvNTSm1QSh3N+rOgJa4lAf7g5BDnv3oa4yxUAROBdVrrikB1nPR1UUqVBJ4CQrXWIYAr8Li5VeW6OUDbux4bB2zUWpcDNma9nWMS4A9IDnH+f0qpAKA9EGl2LWZTSvkCTTAOOEFrfUdrfcXUoszlBuRRSrkB3sBZk+vJVVrrLcClux7uDMzN+vtcoIslriUBng33OsTZiXwKjAUyTa7DFpQBkoHZWS2lSKWUj9lFmUFrfQb4L3ASOAdc1Vp/Z25VNqGo1vocGItBoIglnlQC/CFlHeK8FPi31vqa2fWYQSnVATivtY41uxYb4QbUAqZqrWsCN7DQj8j2Jqu32xkIBkoAPkqpfuZW5bgkwB+CHOL8u0ZAJ6XUCeArjGP15ptbkqlOA6e11r/9RLYEI9CdUUsgXmudrLVOA74BGppcky1IUkoVB8j687wlnlQC/AHJIc5/0Fq/qLUO0FoHYfyCapPW2mlXWVrrROCUUqpC1kMtgAMmlmSmk0B9pZR31vdMC5z0F7p3WQkMzPr7QGCFJZ4022diOqHfDnHeq5T6Oeuxl7TWa80rSdiQMcACpZQHEAcMNrkeU2itdyqllgC7MXZu7cHJRuqVUguBZkAhpdRpYDzwHrBYKTUU439yPS1yLRmlF0II+yQtFCGEsFMS4EIIYackwIUQwk5JgAshhJ2SABdCCDslAS6EEHZKAlwIIezU/wBAqaqeyzYnsQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x1 = [1,4,6,10] #specifying points required for plotting.\n", + "y1 = [3,7,11,15]\n", + "x2 = [2,6,10]\n", + "y2 = [15,8,2]\n", + "\n", + "# to create a plot, use .plot() command.\n", + "plt.plot(x1,y1) #plots the points on graph\n", + "plt.plot(x2,y2)\n", + "plt.show() #shows the graph." + ] + }, + { + "cell_type": "markdown", + "id": "c9fd4d7a", + "metadata": {}, + "source": [ + "We can also edit these graphs, add heading, label axis and label graphs in case there are more than one set of data is plotted on the same graph." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "29e17ba3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#consider the same example.\n", + "plt.plot(x1,y1, label='First') \n", + "plt.plot(x2,y2, label= 'Second')\n", + "plt.title(\"DEMO GRAPH\") #Adds Title to the Plot\n", + "plt.ylabel('Y Axis') # labels y axis\n", + "plt.xlabel('X Axis') # labels x axis\n", + "plt.legend() #The labelling of individual plots wouldn't shwo up in graph unless we use this command\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "49bb4d19", + "metadata": {}, + "source": [ + "Just like this we can pot other types of graphs also. They can be executed using different comands which are easily available in metplotlib documentation online along with the type of arguments they take to plot the data." + ] + }, + { + "cell_type": "markdown", + "id": "e6e0c19b", + "metadata": {}, + "source": [ + "For example we can plor scatter of the same data as follows:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "f3ed11f1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x1,y1)\n", + "plt.scatter(x2,y2)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "7e839813", + "metadata": {}, + "source": [ + "Similarly we can change the styles of plots using **style** from metplotlib library. Different types of styes and their commands are available in metplotlib library." + ] + }, + { + "cell_type": "markdown", + "id": "eaadfca8", + "metadata": {}, + "source": [ + "*for example:*we can change style of the graph using **ggplot** as follows" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f51ca17c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib import style\n", + "plt.scatter(x1,y1)\n", + "plt.scatter(x2,y2)\n", + "style.use('ggplot') #changes the appearance of the graph\n", + "plt.show()" + ] + } + ], + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Numpy Notebook.ipynb b/Numpy Notebook.ipynb new file mode 100644 index 0000000..99bf394 --- /dev/null +++ b/Numpy Notebook.ipynb @@ -0,0 +1,544 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7021de6b", + "metadata": {}, + "source": [ + "# NumPy\n", + "NumPy is a Python Library which offers a range of mathematical functions.\n", + "NumPy has a syntax which is simultaneously compact, powerful and expressive. It allows users to manage data in vectors, matrices and higher dimensional arrays." + ] + }, + { + "cell_type": "markdown", + "id": "8793bb24", + "metadata": {}, + "source": [ + "# Creating an Array using NumPy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "adb1b0d8", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np #imports numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "91dd7ac5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1 2 3 4]\n", + "[[ 1 2 3 0]\n", + " [ 4 5 6 14]\n", + " [12 13 15 16]\n", + " [11 7 9 10]]\n" + ] + } + ], + "source": [ + "x = np.array([1,2,3,4]) #defining 1-D array\n", + "print(x)\n", + "y = np.array([[1,2,3,0],[4,5,6,14],[12,13,15,16],[11,7,9,10]]) #defining 2-D array\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "id": "83438bad", + "metadata": {}, + "source": [ + "## Functions on Array" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "34856324", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4,)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.shape #shape function returns number of rows and colums of an array" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "6ed676e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4, 4)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7ace46b9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('int32')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.dtype #dtype function returns data type of the array" + ] + }, + { + "cell_type": "markdown", + "id": "673ff55f", + "metadata": {}, + "source": [ + "#### Function to Acess Elements at Specific Index" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "649c0632", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y[1,1] #gives element at index (1,1) i.e. Row 1 Column 1 in array y" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8e1507b8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([12, 13, 15, 16])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y[2,:] #This will return all elements of row 2 in the form of array" + ] + }, + { + "cell_type": "markdown", + "id": "07f7f184", + "metadata": {}, + "source": [ + "#### Intialising arrays using some in-built functions" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ab2ffdfb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0. 0. 0. 0.]]\n" + ] + } + ], + "source": [ + "zeros = np.zeros((1,4)) #This function will generate an array with 1 row and 4 columns with all 0 values.\n", + "print(zeros)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b32c6c10", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1. 1. 1. 1. 1.]\n", + " [1. 1. 1. 1. 1.]]\n" + ] + } + ], + "source": [ + "one = np.ones((2,5)) #This function will generate an array with 2 row and 5 columns with all 1 values.\n", + "print(one)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "64437759", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0.85191043 0.92657634]\n", + " [0.80535181 0.92194349]]\n" + ] + } + ], + "source": [ + "random = np.random.rand(2,2) #This function will generate an array with 2 row and 2 columns all random elements.\n", + "print(random)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1d1842cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1. 0. 0.]\n", + " [0. 1. 0.]\n", + " [0. 0. 1.]]\n" + ] + } + ], + "source": [ + "id = np.identity(3) ##This function will generate an Identity Matrix with 3 row and 3 columns.\n", + "print(id)" + ] + }, + { + "cell_type": "markdown", + "id": "331733a0", + "metadata": {}, + "source": [ + "#### Scalar Operations on 2D Matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "678f2f88", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 3 4 5 2]\n", + " [ 6 7 8 16]\n", + " [14 15 17 18]\n", + " [13 9 11 12]]\n", + "[[-3 -2 -1 -4]\n", + " [ 0 1 2 10]\n", + " [ 8 9 11 12]\n", + " [ 7 3 5 6]]\n", + "[[ 3 6 9 0]\n", + " [12 15 18 42]\n", + " [36 39 45 48]\n", + " [33 21 27 30]]\n", + "[[0.5 1. 1.5 0. ]\n", + " [2. 2.5 3. 7. ]\n", + " [6. 6.5 7.5 8. ]\n", + " [5.5 3.5 4.5 5. ]]\n", + "[[ 1 4 9 0]\n", + " [ 16 25 36 196]\n", + " [144 169 225 256]\n", + " [121 49 81 100]]\n" + ] + } + ], + "source": [ + "print(y+2) # perform arithematic operaions on all the values of the matrix\n", + "print(y-4)\n", + "print(y*3)\n", + "print(y/2)\n", + "print(y**2)" + ] + }, + { + "cell_type": "markdown", + "id": "273b57e3", + "metadata": {}, + "source": [ + "#### Matrix Operations" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "7f26f20b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 4 8 12]\n", + " [ 5 10 7]\n", + " [ 7 9 2]]\n", + "[[26 20 22]\n", + " [32 52 68]\n", + " [14 30 36]]\n" + ] + } + ], + "source": [ + "s1 = np.array([[1,2,3],[4,6,2],[0,7,1]])\n", + "s2 = np.array([[3,6,9],[1,4,5],[7,2,1]])\n", + "\n", + "print(s1+s2) #performs matrix addition\n", + "p = np.matmul(s1,s2)\n", + "print(p) #performs matrix multiplication between s1 and s2" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "96432d4e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.min(s2) # returns min value in s2" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "e4e2a3b6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.max(s2) # returns max value in s2" + ] + }, + { + "cell_type": "markdown", + "id": "d45038dc", + "metadata": {}, + "source": [ + "#### Concept Of Axis in Arrays.\n", + "A 1D array has only 1 Axis (Axis 0) along its row. \n", + "A 2D array has 2 Axis (Axis 0, Axis 1) Axis 1 along its row and Axis 0 along its columns." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c279e1d9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([11, 12, 15])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sum(s2,axis=0) #To add all elements of a column" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b4e7b247", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([18, 10, 10])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sum(s2,axis=1) #To add all elements of a row" + ] + }, + { + "cell_type": "markdown", + "id": "9ef08b34", + "metadata": {}, + "source": [ + "### Changing shape of an array" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "fcacdaf8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1]\n", + " [2]\n", + " [3]\n", + " [4]\n", + " [6]\n", + " [2]\n", + " [0]\n", + " [7]\n", + " [1]]\n", + "[[3 6 9]\n", + " [1 4 5]\n", + " [7 2 1]]\n" + ] + } + ], + "source": [ + "w1 = s1\n", + "print(w1.reshape(9,1)) #reshapes w1 into 9X1 Matrix\n", + "print(s2)" + ] + }, + { + "cell_type": "markdown", + "id": "5bcb8dd8", + "metadata": {}, + "source": [ + "#### Transpose of the Matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c5e67278", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 4, 0],\n", + " [2, 6, 7],\n", + " [3, 2, 1]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s1.T" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f81dd554", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Pandas Notebook.ipynb b/Pandas Notebook.ipynb new file mode 100644 index 0000000..c6f6fde --- /dev/null +++ b/Pandas Notebook.ipynb @@ -0,0 +1,826 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f6826b4a", + "metadata": {}, + "source": [ + "# Pandas" + ] + }, + { + "cell_type": "markdown", + "id": "862d71bf", + "metadata": {}, + "source": [ + "Pandas is an open source library. It is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. \n", + "It let's us work with spreadsheets along with using latest Python libraries and functions." + ] + }, + { + "cell_type": "markdown", + "id": "d5210d68", + "metadata": {}, + "source": [ + "## Working with Pandas" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cdf73667", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd #imports pandas" + ] + }, + { + "cell_type": "markdown", + "id": "554cc57c", + "metadata": {}, + "source": [ + "##### Pandas has two types of data structures:\n", + "#### Series:\n", + "It is a one dimensional array with indexes, it stores a single column or row od data in a datasheet. \n", + "#### DataFrame:\n", + "Its a tabular spreadsheet like structure representing rows each of which contains one or nultiple columns." + ] + }, + { + "cell_type": "markdown", + "id": "e6162491", + "metadata": {}, + "source": [ + "### Creating a Pandas series" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ec9b65fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 13\n", + "1 24\n", + "2 36\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = [13, 24, 36] #creating a python list\n", + "s = pd.Series(y) #converting python list into series\n", + "s" + ] + }, + { + "cell_type": "markdown", + "id": "9ba393cf", + "metadata": {}, + "source": [ + "### Creating Pandas DataFrame" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "03ce33eb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Name Age University Specialization\n", + "0 Neil 23 BHU Mathematics\n", + "1 Aishwarya 21 PU Biology\n", + "2 Rahul 22 DU Physics\n", + "3 Shivani 21 BHU Chemistry\n", + "4 Namrata 20 IIT Accountancy\n", + "5 Pawan 22 MU Mathematics\n", + "6 Karan 22 JNU Bio-Chemistry\n", + "7 Krish 23 MU Astrophysics\n" + ] + } + ], + "source": [ + "# Let us consider a dictionary\n", + "exa = {\n", + " 'Name' : ['Neil', 'Aishwarya', 'Rahul', 'Shivani','Namrata','Pawan', 'Karan','Krish'],\n", + " 'Age' : [23, 21, 22, 21, 20, 22, 22, 23],\n", + " 'University' : ['BHU', 'PU', 'DU', 'BHU', 'IIT', 'MU', 'JNU', 'MU'],\n", + " 'Specialization' : ['Mathematics' , 'Biology', 'Physics' , 'Chemistry', 'Accountancy', 'Mathematics', 'Bio-Chemistry', 'Astrophysics']}\n", + "df = pd.DataFrame(exa) # pd.DataFrame() converts dictionary into a data frame\n", + "print(df) #prints the data frame" + ] + }, + { + "cell_type": "markdown", + "id": "97331558", + "metadata": {}, + "source": [ + "### We can also convert this DataFrame into .csv file which can be opened in Excel sheets by the following command.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "7a08bc06", + "metadata": {}, + "outputs": [], + "source": [ + "df.to_csv(\"nameofthefile.csv\") #creates a excel file on the system." + ] + }, + { + "cell_type": "markdown", + "id": "0b24574a", + "metadata": {}, + "source": [ + "Sometimes we just want to have access to only few rows of the dataframe, in these cases we can use **head()** or **tail()** function." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "72528c26", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
NameAgeUniversitySpecialization
0Neil23BHUMathematics
1Aishwarya21PUBiology
2Rahul22DUPhysics
\n", + "
" + ], + "text/plain": [ + " Name Age University Specialization\n", + "0 Neil 23 BHU Mathematics\n", + "1 Aishwarya 21 PU Biology\n", + "2 Rahul 22 DU Physics" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(3) #prints only top 3 rows of the dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "10d6b8c4", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
NameAgeUniversitySpecialization
6Karan22JNUBio-Chemistry
7Krish23MUAstrophysics
\n", + "
" + ], + "text/plain": [ + " Name Age University Specialization\n", + "6 Karan 22 JNU Bio-Chemistry\n", + "7 Krish 23 MU Astrophysics" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tail(2) #prints only last 2 rows of the dataframe" + ] + }, + { + "cell_type": "markdown", + "id": "dca4f23f", + "metadata": {}, + "source": [ + "### We can also access excel files in the Notebook with the following command. \n", + "Assume there's an excel.csv file on the system. it can be opened on the notebook by following command. " + ] + }, + { + "cell_type": "markdown", + "id": "f859d5f3", + "metadata": {}, + "source": [ + "pd.read_csv('salaries.csv') \n", + "##### opens an excel file named salaries from the system" + ] + }, + { + "cell_type": "markdown", + "id": "0b09d812", + "metadata": {}, + "source": [ + "##### We can access any column of the DataFrame by following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "d0ba9156", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 23\n", + "1 21\n", + "2 22\n", + "3 21\n", + "4 20\n", + "5 22\n", + "6 22\n", + "7 23\n", + "Name: Age, dtype: int64" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Age'] #prints age column only as an index of the dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "bd41d921", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "22" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Age'][2] #prints element of column age indexed 2." + ] + }, + { + "cell_type": "markdown", + "id": "ad8cd4e2", + "metadata": {}, + "source": [ + "###### We can also change the index of the dataframe like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "734cf8e3", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
NameAgeUniversitySpecialization
1Neil23BHUMathematics
2Aishwarya21PUBiology
3Rahul22DUPhysics
4Shivani21BHUChemistry
5Namrata20IITAccountancy
6Pawan22MUMathematics
7Karan22JNUBio-Chemistry
8Krish23MUAstrophysics
\n", + "
" + ], + "text/plain": [ + " Name Age University Specialization\n", + "1 Neil 23 BHU Mathematics\n", + "2 Aishwarya 21 PU Biology\n", + "3 Rahul 22 DU Physics\n", + "4 Shivani 21 BHU Chemistry\n", + "5 Namrata 20 IIT Accountancy\n", + "6 Pawan 22 MU Mathematics\n", + "7 Karan 22 JNU Bio-Chemistry\n", + "8 Krish 23 MU Astrophysics" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index = [1,2,3,4,5,6,7,8] # specifying the desired index.\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "fff76743", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 8 entries, 1 to 8\n", + "Data columns (total 4 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Name 8 non-null object\n", + " 1 Age 8 non-null int64 \n", + " 2 University 8 non-null object\n", + " 3 Specialization 8 non-null object\n", + "dtypes: int64(1), object(3)\n", + "memory usage: 320.0+ bytes\n" + ] + } + ], + "source": [ + "df.info() #data summary " + ] + }, + { + "cell_type": "markdown", + "id": "f6ee85ad", + "metadata": {}, + "source": [ + "##### We can also calculate the statistical summary of the data using .describe() " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "b4f80f3e", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Age
count8.000000
mean21.750000
std1.035098
min20.000000
25%21.000000
50%22.000000
75%22.250000
max23.000000
\n", + "
" + ], + "text/plain": [ + " Age\n", + "count 8.000000\n", + "mean 21.750000\n", + "std 1.035098\n", + "min 20.000000\n", + "25% 21.000000\n", + "50% 22.000000\n", + "75% 22.250000\n", + "max 23.000000" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "80c8baea", + "metadata": {}, + "source": [ + "## Some Other Important Functions" + ] + }, + { + "cell_type": "markdown", + "id": "e33844cd", + "metadata": {}, + "source": [ + "##### .loc()\n", + "\n", + "##### Access a group of rows and columns by their name.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "099bc2cc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 BHU\n", + "2 PU\n", + "3 DU\n", + "4 BHU\n", + "5 IIT\n", + "6 MU\n", + "7 JNU\n", + "8 MU\n", + "Name: University, dtype: object" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[:,'University'] # Prints column labelled 'University'" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "15b13b8e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Name Aishwarya\n", + "Age 21\n", + "University PU\n", + "Specialization Biology\n", + "Name: 2, dtype: object" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[2,:] # Prints row labelled '2'" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "7bdf7088", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Namrata'" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[5,'Name'] # Prints element from 'Name' column and 5 row" + ] + }, + { + "cell_type": "markdown", + "id": "78fddb65", + "metadata": {}, + "source": [ + "##### .iloc()\n", + "\n", + "##### Access a group of rows and columns by their index.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "c4fdf666", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 Mathematics\n", + "2 Biology\n", + "3 Physics\n", + "4 Chemistry\n", + "5 Accountancy\n", + "6 Mathematics\n", + "7 Bio-Chemistry\n", + "8 Astrophysics\n", + "Name: Specialization, dtype: object" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[:,3] # Prints column indexed 3" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "ebcd6699", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Name Shivani\n", + "Age 21\n", + "University BHU\n", + "Specialization Chemistry\n", + "Name: 4, dtype: object" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[3,:] # Prints row indexed 3" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "87775bc7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Astrophysics'" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[7,3] # Prints element at intersection of 7 indexed row and 3 indexed column." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84cde1a0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}