2107 lines
290 KiB
Plaintext
2107 lines
290 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "92fb5068-0669-43e3-9799-9dca9ffe6638",
|
|
"metadata": {
|
|
"editable": true,
|
|
"jupyter": {
|
|
"source_hidden": true
|
|
},
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"%%html\n",
|
|
"<style>\n",
|
|
"table {float:left}\n",
|
|
"</style>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "11174c4d-dcb5-49d8-96fc-b83ad35a6193",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div>\n",
|
|
"<img src=\"https://cps.unileoben.ac.at/wp/CPS_Logo_Black.png\" width=\"260\"/>\n",
|
|
"</div>\n",
|
|
"Chair of Cyber-Physical-Systems, Austria"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a04ead7b-4fce-4ea2-9501-d60a112aadcb",
|
|
"metadata": {},
|
|
"source": [
|
|
"<style>\n",
|
|
"td, th {\n",
|
|
" border: none!important;\n",
|
|
"}\n",
|
|
"</style>\n",
|
|
"\n",
|
|
"| Credentials | |\n",
|
|
"|----|---|\n",
|
|
"|Host | Montanuniversitaet Leoben |\n",
|
|
"|Web | https://cps.unileoben.ac.at |\n",
|
|
"|Mail | cps@unileoben.ac.at |\n",
|
|
"|Authors | Vedant Dave, Fotis Lygerakis, Linus Nwankwo, Melanie Neubauer, Nikolaus Feith and Elmar Rueckert|\n",
|
|
"|Corresponding Authors | melanie.neubauer@unileoben.ac.at, rueckert@unileoben.ac.at |\n",
|
|
"|Last edited | 02.10.2023 |\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "35a0d7a0",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Database Basics"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4b05e025-9843-410e-80cd-f2db24148da8",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
"This is a tutorial on the basics of interfacing databases for beginners. \n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b9edce42-35e4-4dcd-886c-8d19a30bfdf0",
|
|
"metadata": {
|
|
"jp-MarkdownHeadingCollapsed": true
|
|
},
|
|
"source": [
|
|
"## Content\n",
|
|
"***\n",
|
|
"[1. Motivation for learning Python?](#sec:whypython) \n",
|
|
"\n",
|
|
"[2. How to run Python on your computer?](#sec:runpython)\n",
|
|
"\n",
|
|
"[3. Overview of Important Libraries](#sec:libraries)\n",
|
|
"\n",
|
|
"[4. Environments](#sec:environments)\n",
|
|
"***\n",
|
|
"[5. Let's Code Basic Commands](#sec:basiccommands)\n",
|
|
"\n",
|
|
"[6. Conditions & Loops](#sec:conditionsloops)\n",
|
|
"\n",
|
|
"[7. Lists & Dictionaries](#sec:lists)\n",
|
|
"***\n",
|
|
"[8. Numpy Arrays](#sec:arrays)\n",
|
|
"\n",
|
|
"[9. Functions and Efficient Implementations](#sec:functions)\n",
|
|
"\n",
|
|
"[10. Classes & Object Oriented Programming](#sec:classes)\n",
|
|
"\n",
|
|
"[11. Plotting & Scientific Figures](#sec:plotting)\n",
|
|
"***\n",
|
|
"[12. Advanced Features & Other Resource](#sec:resources)\n",
|
|
"\n",
|
|
"[13. Using Large Language Models like ChatGPT](#sec:llms)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c4e0ceef-663a-46c3-9e52-6cd6c942422f",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:whypython\">1. Motivation for Learning Python?</a>\n",
|
|
"- Easy to use.\n",
|
|
"- Lots of Libraries.\n",
|
|
"- Large Community (Stack Overflow).\n",
|
|
"- Easy to debug.\n",
|
|
"- Most popular programming language to date (see the image below taken from https://spectrum.ieee.org/the-top-programming-languages-2023 on Sept. 2023).\n",
|
|
"- Used in almost all research disciplines.\n",
|
|
" \n",
|
|
"<div>\n",
|
|
"<img src=\"https://cps.unileoben.ac.at/wp/statistics_2023_programming_language.png\" width=\"600\"/>\n",
|
|
"</div>\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "ba97999c",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:runpython\">2. How to run Python in your Computer?</a> \n",
|
|
"You have many IDE's. Here we are using **Jupyter Notebook**. The main reason is that that it is easy to write these passages and code in one single Notebook, then share it with others.\n",
|
|
"\n",
|
|
"If you are using Python for some personal project in your local PC, I recommend using **PyCharm** or **Visual Studio Code**. They are user friendly and very good for beginners. If you have any dobuts in them, you can contact me anytime."
|
|
]
|
|
},
|
|
{
|
|
"attachments": {
|
|
"ide1_ol5h4k.webp": {
|
|
"image/webp": "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"
|
|
}
|
|
},
|
|
"cell_type": "markdown",
|
|
"id": "00b11a79",
|
|
"metadata": {},
|
|
"source": [
|
|
"![ide1_ol5h4k.webp](attachment:ide1_ol5h4k.webp)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "cff5af33",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:libraries\">3. Overview of Important Libraries</a> \n",
|
|
"### Arrays/ Matrix Compuation\n",
|
|
"- Numpy\n",
|
|
"- Numba\n",
|
|
"- Pandas (Tabular Data)\n",
|
|
"\n",
|
|
"### Plotting\n",
|
|
"- Matplotlib\n",
|
|
"- Plotly\n",
|
|
"- Seaborn (Advanced)\n",
|
|
"- Mayavi (Very Advanced)\n",
|
|
"\n",
|
|
"\n",
|
|
"### Machine Learning\n",
|
|
"- Scipy\n",
|
|
"- Scikit-learn\n",
|
|
"- Catboost\n",
|
|
"\n",
|
|
"### Neural Networks\n",
|
|
"- Pytorch\n",
|
|
"- Tensorflow"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "14b350a1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# This command is only for Numpy installation\n",
|
|
"%pip install numpy"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "482cbfe2",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Import a Library in your Code\n",
|
|
"import numpy as np"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f6217301",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:environments\">4. Environments</a> \n",
|
|
"Why do you sometimes need local environments?\n",
|
|
"- Conflicts\n",
|
|
"- Dependencies\n",
|
|
"- Extra Libraries"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {
|
|
"Screenshot%20from%202022-10-03%2017-41-19.png": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABIsAAAKOCAIAAACp8A6wAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzs3XdYVGf6PvD7TKN3QYoVCyqIBQEL9hJjSewak6gxPXE35ReTTcymfjfJriYxxfQeE2MsUaMmVmyoFFEQpIgU6b0zwJTz+2MGZkBUVGAo9+fKtRcMZ848YY1wz/u8zyuIoggiIiIiIiJqBySmLoCIiIiIiIj0mNCIiIiIiIjaC5nhQ40GNUrTVUJERERERNQlmVlAKtV9aJTQLpxCciwEwTQ1EREREdFNcYJAh8Pfrqk5BAH3rIZcgQYJTdQCAv+zJyIiIiJqMfztmprD3AK11bqExn1oRERERERE7QUTGhERERERUXvBhEZERERERNReMKERERERERG1F0xoRERERERE7QUTGhERERERUXvBhEZERERERNReMKERERERERG1F0xoRERERERE7QUTGhERERERUXvBhEZERERERNReMKERERERERG1F0xoRERERERE7QUTGhERERERUXvBhEZERERERNReMKERERERERG1F0xoRERERERE7YXM1AUQERF1KHmFyCtAZg4KSpBXgJIy1Kr0/6tWGy4TRcjlUMhhZQErS/0/7i6wNIe9Hext0cMNVham+9cgIqJ2igmNiIjohjJzkJGDpDQkJiMtE1XK5j6xugYACouve4GFOVyc4N4dLt3QzR4ernCwg4drC9RMREQdFhMaERHRNYpLkZiCiIu4lIj8oiYukMng7Ah7W7h0g0IGezuYm0EiwLJuWay2FrVqVNegsgoqFYrLUFyKKiXyiwxLbcpqpGUiLbOJO7s4wcMVbs6MbUREXQ0TGhEREQBApUJkLJLScD4GV7Maf9XNBR6uGNAH7t3RtydcnG7/hSqVKClFRg4KipCVi7xC5BUakptajew8ZOchKs7wFF1s83CFixOcHGBvCxcnuDjBwe72yyAionaJCY2IiLq2zByEReFyKiKiG3/JzQUjvNG/N0b4tOSeMSsLWFk0XhZTqVBRhcwcww631IwmYlsjMhkszWFvCwc7WFrApRtsreFgCytL2NvqHyciog6FCY2IiLoe3XJZXBLOxzaOPU4O8PHCsEEY6HlHC2W3Si6Hgx0c7ODj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lm5Z9+9v8gLv++aueL9uDCLZKnc+8MlXuWEPb18x05ODTgNE1ztWE9HgVC/WvRXxjlFhmlE+bdDsXq1ywrIHoHIC16ERERH1q6bTZw+kSm7z4yYwng0k3L+UaAhxteiiaqMAnPE4Z1FY5C6nx5jQiIiI+otUk/fVX1PKRZ/594V1mv9Icuq8CTkRDWZTKycDaFQ2nne/IHctPcZ1aERERLecVLTnxOHTVZcSMjOKhdAN8YtG8iNSIqJbx9/oH9IYfNk577jniXFVY+Uup2f4AkFERHTL2apPX9jzRUae4DPj6TW//mlA5w3KiIioT02sGg+gVD342u5zDI2IiKg3lL53bn7yzhsdNOq5h999rl/qISIiAIiui3a1/FAvNhz0OTS42u5zDI2IiIiIiIYa0SbOqJgBoEBbWOBcKHc5PcCERkREREREQ9Ckqgkam9oqWI97nZC7lh5gQiMiIiIioiFItIkzyqcDSHfNqFZVy11OdzGhERERERHR0DSpatLVYbSTctfSXUxoREREREQ0NGms6gmV4wEkeSQblSa5y+kWJjQiIiIiIhqyJlVNVEpKq2A97H1Y7lq6hQmNiIiIiIiGLL1ZH1cTCyBJf3pQDKMxoRERERER0VA2tXIyAJPSlOaWJnctN8aERkREREREQ5m/0T+kMRjAYa+jctdyY0xoREREREQ0xNl3r650qsxxyZW7lhtgQiMiIiIioiEurCHE3ewO4KDPIblruQEmNCIiIiIiGuJEmzi1cgqAAm1hsaZY7nKuhwmNiIiIiIiGvklVE+y7V5/xOCd3LdfDhHZrCYIgdwlERERERATRJjbvXq0f0LtXM6EREREREZFDGFczFoBVsA7ktvtMaERERERE5BC8Td72tvtn3QfuREcmNCIiIiIichRRdVEACrSF5epyuWvpGhMaERERERE5inHVY9VWtVWwntGflbuWrjGhERERERGRo9BY1SPqwwFkuVySu5auMaEREREREZEDiauNAVChrhyYHR2Z0IiIiIiIyIEMNwQCsArWFPcUuWvpAhMaERERERE5EFeLbphhGIBslxy5a+kCExoRERERETmW6LqRALJcB+JSNCY0IiLHJglyV0BERNTfIupHALAK1mJNsdy1dMSERkREREREjsW7yVtjU2NADqMxoRERERERkWMRbWJIQwiAQu0VuWvpiAmNiIiIiIgcTqBhGDiGRkRERERENBAM2KVoTGhERERERORwBuxSNCY0IiIiIkiSJHcJRNSvBuxSNCY0IiIiIiJyRN4mbwAFzgVyF9IOExoRERERETmiQGMAgAZlY7m6XO5aWjGhERERERGRIxreGGi/Ue7EhEZERERERCQrV4vOzewGoEBbKHctrZjQiIiIiIjIQQUY/THA2jkyoRERERERkYOy71tdo66Vu5BWTGhEREREROSg/Ez+AEyCaeDsW82ERkREREREDirA4Gu/kT9geu4zoRERERERkYNyteg8mzwB1Ig1ctfSTJS7gCFOstmcTPVyV0EOrdEqyF0CERER0cDlY/KudKosdL4idyHNmNBuIXfRHO5iSTmfI3ch/UVo/u+mSJD6sJRBS+hFmpK6/gl6OkHHf+hERERE1+Bn8kvXZZQNmE2r+cbtFnJS4LPpHEAjIiIiIhq4/A2+ABqVjfVinatFJ3c5XIdGREREREQObLgh0H6jSFsqbyV2TGhEREREROS4NDatxqYGUK2qkrsWgAmNiIiIiIgcmWgT3ZrcAJRqyuSuBWBCIyIiIiIiBxdkDAKQr8mXuxCACY2IiIiIiByce5MbgHpVg9yFAExoRERERETk4LxNXgAalY3Vqmq5a2FCIyIiIiIix9bSzrFYUyxvJWBCIyIiIiIiB9fSzrFOJf9uxkxoRERERETk0AZUO0cmNCIiIiIicnQBxgAA5U7lchfChEZERERERA7P3eIOoEzNhEZERERERCQ3f4MvgEZlo1FpkrcSJjQiIiIiInJ0erPefqPMSealaExoRERERETk6LybvO03irUyN9xnQiMiIiIiIkcn2kTPJk8ANaoaeSthQiMiIiIiIoKPyRtAhVOlvGUwoREREREREcHb5A0g37lA3jKY0IiIiIiIiOBr9AFgUpjkbefIhEZERERERASfJm8AVsFaraqSsQwmNCIiIiIiotZ2jvJOdGRCIyIiIiIiam3nWOnEMTQiIiIiIiK52ds5lqvLZayBCY2IiIiIiAgA/Ex+AIo0cm5azYRGREREREQEAP4GXwCNykYZ2zkyoREREREREQFtmoWUOZXJVQMTGhEREREREQDozXqlpARQrJVtoiMTGhEREREREQCINtHL5AmgVMMxNCIiIiL5CIIgdwlENCAEGAMAFKtL5CqACY2IiIiIiKiZV5MngCqV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"
|
|
}
|
|
},
|
|
"cell_type": "markdown",
|
|
"id": "7bb0ca61",
|
|
"metadata": {},
|
|
"source": [
|
|
"![Screenshot%20from%202022-10-03%2017-41-19.png](attachment:Screenshot%20from%202022-10-03%2017-41-19.png)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5f033898",
|
|
"metadata": {},
|
|
"source": [
|
|
"What options do you have?\n",
|
|
"- [Virtual Environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)\n",
|
|
"- [Conda Environment](https://conda.io/projects/conda/en/latest/user-guide/getting-started.html)\n",
|
|
"\n",
|
|
"[Virtualenv vs Conda](https://www.reddit.com/r/learnpython/comments/xjzhxs/difference_between_virtualenv_venv_and_conda_env/): From what I understand, pip is a package manager for Python. venv is an environment manager for Python. conda is both a package and environment manager and is language agnostic. You can find even more explanation [here](https://towardsdatascience.com/a-guide-to-conda-environments-bc6180fc533#:~:text=venv%20is%20an%20environment%20manager,any%20language%20(in%20theory)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "66f200c3",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:basiccommands\">5. Let's Code Basic Commands</a> \n",
|
|
"## Print Statement"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "974c33a4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print(\"Hello World!\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c8381ce9",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Value Assignments to Variables\n",
|
|
"Unlike C or C++, you don't need to predefine variables before assigning them some value. Things are simple in Python. Just assign the variable some value.\n",
|
|
"It must be noted that the standard interpreter in Python is written in C, thus the code is eventually represented as it is written in C. We will not go into th detail. If anyone is interested, they can refer to this [link](https://www.youtube.com/watch?v=54NWGAYhfbc)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "9464bc38",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Integer = 20\n",
|
|
"String = Hello\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"a = 20 # Integer\n",
|
|
"s = \"Hello\" # String\n",
|
|
"\n",
|
|
"print(\"Integer = \", a)\n",
|
|
"print(\"String = \", s)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b4d96b2f",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Comments"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "f304b4f5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# This is a Single line Comment"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "904aa124",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'\\nThis is a \\nMulti line \\nComment\\n'"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"\"\"\"\n",
|
|
"This is a \n",
|
|
"Multi line \n",
|
|
"Comment\n",
|
|
"\"\"\""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "94215fa0-27d8-489e-8286-3fb11240617a",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Exercises\n",
|
|
"\n",
|
|
"<div class=\"alert alert-block alert-warning\">\n",
|
|
"Create a variable that takes the concatenation of an integer value and of a constant string. \n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "48502b54-997b-427b-83ba-1f4543c179e5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Place your code here that concatenates an integer with a constant string.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "56a96347",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:conditionsloops\">6. Conditions & Loops</a> \n",
|
|
"Many might be familiar with this thing. This is just a simple conditional statement."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "584af0eb",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"This variable is larger than 10\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"if a < 10:\n",
|
|
" print(\"This variable is smaller than 10\")\n",
|
|
"elif a > 10:\n",
|
|
" print(\"This variable is larger than 10\")\n",
|
|
"else:\n",
|
|
" pass # Do nothing, just pass the program to next line"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "c09128a3",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"This variable is larger than 10\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# If-else statement in a single line\n",
|
|
"k = \"This variable is smaller than 10\" if a < 10 else \"This variable is larger than 10\"\n",
|
|
"print(k)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "a8d79470",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"True\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Check if it is equal to some value\n",
|
|
"k = True if a == 20 else False\n",
|
|
"print(k)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a5495504",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Other Operators\n",
|
|
"- != : Not equal to\n",
|
|
"- <= : Smaller than or equal to\n",
|
|
"- in : If a variable is in list or not\n",
|
|
"- is : Comparison of two variables in memory location terms"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e6a7e562",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Loops"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "e490d6c9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"for i in range(5):\n",
|
|
" print(i)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "91a5d09e",
|
|
"metadata": {},
|
|
"source": [
|
|
"Python indexing starts with 0 (not 1) and goes to n-1. Here, we print from 0 to 4 (0,...,4).\n",
|
|
"\n",
|
|
"The **range** function is the mostly used function. The purpose of range is to provide entries from 0 to n-1. For example **range(20)** will give you numbers (integers) from 0 to 19.\n",
|
|
"\n",
|
|
"You can do any computation with loops. The looping becomes powerful when used to extract out details or changing details from sequences."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7e09994d",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:lists\">7. Lists & Dictionaries</a> \n",
|
|
"The most basic data structure in Python is the sequence. Each element of a sequence is assigned a number - its position or index. The first index is zero, the second index is one, and so forth.\n",
|
|
"\n",
|
|
"List contains a sequence of any data types. You can mix whatever data types you want.\n",
|
|
"\n",
|
|
"**Fun Fact:** You can also make a List of all the files inside certain folder in your computer. Then you can access them one by one and perform your desired operations (like extracting data from them)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "93934611",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"list1 = [1, 24, \"My\", \"Name\", 58, 89.256, \"is\"]\n",
|
|
"list2 = [\"Slim\", 45, 0.567, \"Shady\"]\n",
|
|
"list_added = list1 + list2\n",
|
|
"\n",
|
|
"print(\"Added Lists: \", list_added)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9dba34d0",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Append someting to List"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "9c143e9d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"l = [1 , 2, 0.256]\n",
|
|
"\n",
|
|
"for i in range(len(l)):\n",
|
|
" list_added.append(l[i])\n",
|
|
" \n",
|
|
"print(\"New List : \", list_added)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "90503ee1",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Check if something is in your list"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "09d43b68",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"find_this = \"Slim\"\n",
|
|
"find_also_this = \"Shady\"\n",
|
|
"\n",
|
|
"# Everything in one line\n",
|
|
"finder = True if find_this and find_also_this in list_added else False\n",
|
|
"\n",
|
|
"# Print multiple variables in the print statement with Format\n",
|
|
"print(\"Are {} and {} in the given list?\".format(find_this, find_also_this))\n",
|
|
"print(finder)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "bd98fa5c",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Other List Operations\n",
|
|
"- Length\n",
|
|
"- Sort\n",
|
|
"- Reverse\n",
|
|
"\n",
|
|
"And many more. You can find them [here](https://docs.python.org/3/tutorial/datastructures.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7cf506f7",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Dictionaries\n",
|
|
"Also stores multipe data types into it. Each storage **value** has one **key** through which each value can be accessed.\n",
|
|
"\n",
|
|
"Each key is separated from its value by a colon (:), the items are separated by commas, and the whole thing is enclosed in curly braces. An empty dictionary without any items is written with just two curly braces, like this: {}. Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "cfed21c3",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"dict = {'Sensor': 'Joint1', 'Torque': 1, 'Joint_Config': [0.25, 0.55, 0.10]}\n",
|
|
"\n",
|
|
"print(\"Sensor : \", dict[\"Sensor\"])\n",
|
|
"print(\"Joint Position : \", dict[\"Joint_Config\"][0])\n",
|
|
"print(\"Joint Velocity : \", dict[\"Joint_Config\"][1])\n",
|
|
"print(\"Joint Acceleration : \", dict[\"Joint_Config\"][2])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b75fb1ae",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Get all the Keys and Values"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "41ecc0f4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print(\"All the Keys are: \", dict.keys(), \"\\n\")\n",
|
|
"\n",
|
|
"print(\"All the Values are: \", dict.values(), \"\\n\")\n",
|
|
"\n",
|
|
"print(\"All the Keys-Values pairs are: \", dict.items())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "cc07bad4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# To get them in form of list, just convert them to list\n",
|
|
"keys_in_list_form = list(dict.keys())\n",
|
|
"print(\"Keys in List Format:\", keys_in_list_form)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a0683f0a",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Many Other methods for Dictionaries"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "fee69abc",
|
|
"metadata": {},
|
|
"source": [
|
|
"- Update values\n",
|
|
"- Add new elements\n",
|
|
"\n",
|
|
"And Many more. You can find them [here](https://www.programiz.com/python-programming/methods/dictionary)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d9deea1f",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:arrays\">8. Numpy Arrays</a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0842f910",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
"Numpy is a fundamental package for scientific computing in Python. It is a Python library that provides a multidimensional array object, various derived objects (such as masked arrays and matrices), and an assortment of routines for fast operations on arrays, including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete Fourier transforms, basic linear algebra, basic statistical operations, random simulation and much more.\n",
|
|
"</div>\n",
|
|
"\n",
|
|
"At the core of the NumPy package, is the <strong>ndarray object</strong>. This encapsulates n-dimensional arrays of homogeneous data types, with many operations being performed in compiled code for performance.\n",
|
|
"\n",
|
|
"NumPy arrays are stored at one continuous place in memory unlike lists, so processes can access and manipulate them very efficiently. NumPy is a Python library and is written partially in Python, but most of the parts that require fast computation are written in C or C++."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9bddf001",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Some Examples of Arrays"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "8b5f237e",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Construct a simple 1D numpy array\n",
|
|
"arr_1D = np.array([1,2,3,4])\n",
|
|
"print(arr_1D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "b3b6aa14",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Construct a 2D numpy array\n",
|
|
"arr_2D = np.array([\n",
|
|
" [1, 2, 3, 4],\n",
|
|
" [5, 6, 7, 8],\n",
|
|
" [9, 10, 11, 12]\n",
|
|
" ])\n",
|
|
"print(arr_2D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "797e5acf",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Construct a 3D numpy array\n",
|
|
"arr_3D = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])\n",
|
|
"print(arr_3D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3e71acfa",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Check the dimensions of your array\n",
|
|
"print(arr_1D.ndim)\n",
|
|
"print(arr_2D.ndim)\n",
|
|
"print(arr_3D.ndim)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9e463242",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Shape and Reshape"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "c90d6e51",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Find the shape of your array\n",
|
|
"print(\"Shape of arr_1D : \", np.shape(arr_1D))\n",
|
|
"print(\"Shape of arr_2D : \", np.shape(arr_2D))\n",
|
|
"print(\"Shape of arr_3D : \", np.shape(arr_3D))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "0589f0eb",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Reshape your arrays into any shape\n",
|
|
"arr_2D_into_1D = arr_2D.reshape(12,)\n",
|
|
"print(arr_2D_into_1D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "56a8e21f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# When you don't know the dimensions\n",
|
|
"arr_3D_into_1D = arr_3D.reshape(-1)\n",
|
|
"print(arr_3D_into_1D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "1cc1a078",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# You want it to be some type (3,n) but don't know n\n",
|
|
"arr_3D_into_2D = arr_3D.reshape(3,-1)\n",
|
|
"print(arr_3D_into_2D)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d8230d2e",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Note:** You cannot reshape the array of shape (3,20) into the shape of (59,1) because the reshaped array must have the same indices as the original one."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a7a916c7",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Indexing Arrays"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b507a091",
|
|
"metadata": {},
|
|
"source": [
|
|
"How do you find one element in an array?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "eb2fd658",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"arr = np.array([\n",
|
|
" [1, 2, 3, 4],\n",
|
|
" [5, 6, 7, 8],\n",
|
|
" [9, 10, 11, 12]\n",
|
|
" ])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "8fe5e2d8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Access 4th element in the 1st row\n",
|
|
"elem = 0"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "fcb84876",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Access all the elements from the final row\n",
|
|
"elems = arr[-1,:]\n",
|
|
"print(elems)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "787801f6",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Access all the elements from the final column\n",
|
|
"elems = arr[:,-1]\n",
|
|
"print(elems)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "e5502684",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Access two middle elements from the middle row\n",
|
|
"elems = 0"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "19bd4fcb",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Generate n samples between two numbers"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "fe8f8051",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"n = 20\n",
|
|
"l = np.linspace(0,1,n)\n",
|
|
"print(l)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e515af41",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Generate Random arrays"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "92ef427d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"r = np.random.rand(5,5)\n",
|
|
"print(r)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "00332ec8",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Concatenate two arrays"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a84961b8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"arr1 = np.array([[1, 2, 3]])\n",
|
|
"arr2 = np.array([[4, 5, 6]])\n",
|
|
"print(\"Shape of array 1: \", arr1.shape)\n",
|
|
"print(\"Shape of array 2: \", arr2.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "4b092f35",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"arr = np.concatenate((arr1,arr2))\n",
|
|
"print(arr)\n",
|
|
"print(\"Shape of array concatenated along rows: \", arr.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a5ba1882",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"arr_col = np.concatenate((arr1,arr2), axis=1)\n",
|
|
"print(arr_col)\n",
|
|
"print(\"Shape of array concatenated along columns: \", arr_col.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "78c5aa8d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Converting Lists to Arrays"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "12328b05",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# List\n",
|
|
"l = [[1,2,3],[4,5,6]]\n",
|
|
"\n",
|
|
"# Print and Check type\n",
|
|
"print(l)\n",
|
|
"print(type(l))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "fed041ec",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# List converted to array\n",
|
|
"arr = np.asarray(l)\n",
|
|
"\n",
|
|
"# Print and Check type\n",
|
|
"print(arr)\n",
|
|
"print(type(arr))\n",
|
|
"\n",
|
|
"# Check Shape\n",
|
|
"print(\"Array Shape: \",arr.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f8137d0a",
|
|
"metadata": {},
|
|
"source": [
|
|
"As lists can be of undefined shape, it sometime creates problem when converted to the list. The problem is not faced by the program for conversion, but more while accessing data from indexes. You might have to define it to store it as an object type data."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "866f6422",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# List\n",
|
|
"l = [[1,2,3],[4]]\n",
|
|
"\n",
|
|
"# Print and Check type\n",
|
|
"print(l)\n",
|
|
"print(type(l))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "969ced1c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# List converted to array\n",
|
|
"arr = np.asarray(l)\n",
|
|
"\n",
|
|
"# Print and Check type\n",
|
|
"print(arr)\n",
|
|
"print(type(arr))\n",
|
|
"\n",
|
|
"# Check Shape\n",
|
|
"print(\"Array Shape: \",arr.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d953a0f3",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Search index of your desired variable"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "7c043f28",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"arr = np.array([\n",
|
|
" [1, 2, 3, 4],\n",
|
|
" [5, 6, 7, 8],\n",
|
|
" [9, 10, 11, 12]\n",
|
|
" ])\n",
|
|
"\n",
|
|
"# Find the index\n",
|
|
"idx= np.where(arr==11)\n",
|
|
"print(idx)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9d20535b",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:functions\">9. Functions</a>\n",
|
|
"Most important part of any language. It is a code block that is callable and reusable."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "638e9c10",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def function_for_multiply(m1,m2):\n",
|
|
" return m1.dot(m2)\n",
|
|
"\n",
|
|
"m1 = np.random.rand(50,30)\n",
|
|
"m2 = np.random.rand(30,500)\n",
|
|
"\n",
|
|
"m = function_for_multiply(m1,m2)\n",
|
|
"print(m.shape)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6774c704",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Improving the Computational Times with Numba"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c6e67f2d",
|
|
"metadata": {},
|
|
"source": [
|
|
"Numba is a just-in-time compiler for Python that works best on code that uses NumPy arrays and functions, and loops.\n",
|
|
"\n",
|
|
"It is an additional library that makes your code faster. It can make it very fast. But it depends on your code. \n",
|
|
"\n",
|
|
"Numba is suited for codes that have:\n",
|
|
"- Loops\n",
|
|
"- Numpy functions\n",
|
|
"\n",
|
|
"More information on Numba can be found [here](https://numba.pydata.org/numba-doc/latest/index.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "22b0f024",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Install numba\n",
|
|
"%pip install numba"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "ea21f6d0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numba as nb"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "f250a3d4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import math\n",
|
|
"\n",
|
|
"def std(xs):\n",
|
|
" # compute the mean\n",
|
|
" mean = 0\n",
|
|
" for x in xs: \n",
|
|
" mean += x\n",
|
|
" mean /= len(xs)\n",
|
|
" # compute the variance\n",
|
|
" ms = 0\n",
|
|
" for x in xs:\n",
|
|
" ms += (x-mean)**2\n",
|
|
" variance = ms / len(xs)\n",
|
|
" std = math.sqrt(variance)\n",
|
|
" return std"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a8da7e65",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"a = np.random.normal(0, 1, 10000000)\n",
|
|
"std(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "bb4a64f7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"c_std = nb.njit(std,fastmath=True)\n",
|
|
"c_std(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "37f4030f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%timeit std(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "40ff100a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%timeit c_std(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c27f8c0d",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:classes\">10. Classes & Object Oriented Programming</a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "718e6f20",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
"Python is an object oriented programming language. Classes provide a means of bundling data and functionality together. Creating a new class creates a new type of object, allowing new instances of that type to be made. Each class instance can have attributes attached to it for maintaining its state. Class instances can also have methods (defined by their class) for modifying their state.\n",
|
|
"</div>\n",
|
|
"\n",
|
|
"For more information on Object Oriented Programming, check out this [video](https://www.youtube.com/watch?v=-DP1i2ZU9gk)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "6baa3dc1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define a Class\n",
|
|
"class Student:\n",
|
|
" # Attributes\n",
|
|
" name = \"Vedant\"\n",
|
|
" matr = 1997\n",
|
|
" \n",
|
|
" # Method\n",
|
|
" def is_first_letter(self):\n",
|
|
" if self.name[0] == \"V\":\n",
|
|
" print(\"The name starts with the letter V\")\n",
|
|
" else:\n",
|
|
" print(\"The name does not starts with the letter V\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "71a58bcd",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Object Instantiation\n",
|
|
"student_1 = Student()\n",
|
|
"\n",
|
|
"# Access Class Attributes\n",
|
|
"print(\"The name of the Student is :\", student_1.name)\n",
|
|
"\n",
|
|
"# Call the function from the class\n",
|
|
"student_1.is_first_letter()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6fcd77c7",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Self and Initializer"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4dc2a404",
|
|
"metadata": {},
|
|
"source": [
|
|
"The classes have two very important aspects to consider:\n",
|
|
"\n",
|
|
"### The self\n",
|
|
"\n",
|
|
"This keyword is used to represent the instance of the given class. It allows the user to access the attributes and methods of each object in python. It is defined explicitly eveytime. \n",
|
|
"\n",
|
|
"The example above also uses self when it defines attributes and as the first parameter of the method(function). If we have a method that takes no arguments, we still have one argument. For more details, check [this](https://www.programiz.com/article/python-self-why#:~:text=The%20self%20keyword%20is%20used,information%20for%20both%20these%20objects.) out.\n",
|
|
"\n",
|
|
"### \\_\\_init\\_\\_ method\n",
|
|
"\\_\\_init\\_\\_ is called when a new object is requested. The function \\_\\_init\\_\\_ is called immediately after the object is created and is used to initialize it. It is supposed to use its arguments to assign attributes on the new object, such that the required invariants for normal operation of the object are set up. The object is already a valid pre-existing place to store attributes by the time the code in \\_\\_init\\_\\_ begins running. \n",
|
|
"\n",
|
|
"Is \\_\\_init\\_\\_ is a Constructor or not? You will always find people confused regarding this. You can find a good answer [here](https://stackoverflow.com/questions/6578487/init-as-a-constructor).\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0bc93023",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Class and Instance Variables\n",
|
|
"Class Variables are constant along all the instances.\n",
|
|
"\n",
|
|
"Instance variables are not constant and uniquely defined across all the instances of the class.\n",
|
|
"\n",
|
|
"In the above example, name and matriculation number were Class variables as they remain constant no matter how many instances we define. But what if we want to include names and matriculation numbers for multiple People with different positions?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "7043a1e4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define a Class\n",
|
|
"class People:\n",
|
|
" # Class Variables\n",
|
|
" department = \"Cyber-Physical-Systems\"\n",
|
|
" \n",
|
|
" def __init__(self, name, matr, position):\n",
|
|
" self.name = name\n",
|
|
" self.matr = matr\n",
|
|
" self.position = position\n",
|
|
" \n",
|
|
" # Method\n",
|
|
" def is_first_letter(self):\n",
|
|
" if self.name[0] == \"V\":\n",
|
|
" print(\"The name starts with the letter V\")\n",
|
|
" else:\n",
|
|
" print(\"The name does not starts with the letter V\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "f63cb6fb",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate Object for first instance\n",
|
|
"person_1 = People(\"Vedant\", 1997, \"Student\")\n",
|
|
"\n",
|
|
"# Instantiate Object for second instance\n",
|
|
"person_2 = People(\"Elmar\", \"None\", \"Professor\")\n",
|
|
"\n",
|
|
"# Instantiate Object for third instance\n",
|
|
"person_3 = People(\"Konrad\", \"None\", \"Lab Technician\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "872fbc38",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Access Attributes of both instances\n",
|
|
"# First Person\n",
|
|
"print(\"Name of Person 1: \", person_1.name)\n",
|
|
"print(\"Matriculation Number of Person 1: \", person_1.matr)\n",
|
|
"print(\"Position of Person 1: \", person_1.position)\n",
|
|
"print(\"Department of Person 1: \", person_1.department)\n",
|
|
"person_1.is_first_letter()\n",
|
|
"print(\"\\n\")\n",
|
|
"\n",
|
|
"# Second Person\n",
|
|
"print(\"Name of Person 2: \", person_2.name)\n",
|
|
"print(\"Matriculation Number of Person 2: \", person_2.matr)\n",
|
|
"print(\"Position of Person 2: \", person_2.position)\n",
|
|
"print(\"Department of Person 2: \", person_2.department)\n",
|
|
"person_2.is_first_letter()\n",
|
|
"print(\"\\n\")\n",
|
|
"\n",
|
|
"# Third Person\n",
|
|
"print(\"Name of Person 3: \", person_3.name)\n",
|
|
"print(\"Matriculation Number of Person 3: \", person_3.matr)\n",
|
|
"print(\"Position of Person 3: \", person_3.position)\n",
|
|
"print(\"Department of Person 3: \", person_3.department)\n",
|
|
"person_3.is_first_letter()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5304cc8d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Inheritance\n",
|
|
"One class can inherit the functionalities of another class. It makes the object utilise multiple functionalities from different classes.\n",
|
|
"\n",
|
|
"The class which inherits the functionalities is called as Child/Sub Class while the other one is called as Parent/Super Class."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8dc070f5",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Single Inheritance"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "4f024880",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define a Class\n",
|
|
"class Vehicle(object):\n",
|
|
" def __init__(self, weight):\n",
|
|
" self.weight = weight\n",
|
|
" \n",
|
|
" def is_heavy_duty(self):\n",
|
|
" yes = True if self.weight > 10000 else False\n",
|
|
" return yes\n",
|
|
" \n",
|
|
"class Car(Vehicle):\n",
|
|
" def is_heavy_duty(self):\n",
|
|
" return False"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {
|
|
"Screenshot%20from%202022-10-04%2017-30-00.png": {
|
|
"image/png": "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"
|
|
}
|
|
},
|
|
"cell_type": "markdown",
|
|
"id": "d4441343",
|
|
"metadata": {},
|
|
"source": [
|
|
"![Screenshot%20from%202022-10-04%2017-30-00.png](attachment:Screenshot%20from%202022-10-04%2017-30-00.png)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "91f874c2",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate Object for Vehicle Class\n",
|
|
"automobile = Vehicle(15000)\n",
|
|
"print(\"Is this a heavy duty vehicle?: \", automobile.is_heavy_duty())\n",
|
|
"\n",
|
|
"# Instantiate Object for Car Class\n",
|
|
"car = Car(1500)\n",
|
|
"print(\"Is this a heavy duty vehicle?: \", car.is_heavy_duty())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a2248972",
|
|
"metadata": {},
|
|
"source": [
|
|
"### super() method\n",
|
|
"The method super() has two major uses in Python:\n",
|
|
"- Allows us to avoid using the base class name explicitly\n",
|
|
"- Working with Multiple Inheritance\n",
|
|
"\n",
|
|
"The above example can be constructed using super() method."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "25acdc1c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define a Class\n",
|
|
"class Vehicle:\n",
|
|
" def __init__(self, weight):\n",
|
|
" self.weight = weight\n",
|
|
" \n",
|
|
" def is_heavy_duty(self):\n",
|
|
" yes = True if self.weight > 10000 else False\n",
|
|
" return yes\n",
|
|
" \n",
|
|
"class Car(Vehicle):\n",
|
|
" def __init__(self, weight):\n",
|
|
" super().__init__(weight)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "2aec32ed",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate Object for Car Class\n",
|
|
"car = Car(15000)\n",
|
|
"print(\"Is this a heavy duty vehicle?: \", car.is_heavy_duty())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "ee9aa30e",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Multiple Inheritance"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "2b05446e",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define Parent/Super Classes\n",
|
|
"class Vehicle: \n",
|
|
" def is_this_vehicle(self):\n",
|
|
" print(\"Yes, this is a Vehicle\")\n",
|
|
" \n",
|
|
"class OnRoad:\n",
|
|
" def __init__(self,name):\n",
|
|
" self.name = name\n",
|
|
" \n",
|
|
" def is_onroad(self):\n",
|
|
" yes = \"It is an On-Road Vehicle\" if self.name == \"Car\" else \"It is not an On-Road Vehicle\"\n",
|
|
" print(yes)\n",
|
|
" \n",
|
|
"\n",
|
|
"class Public:\n",
|
|
" def is_public(self):\n",
|
|
" print(\"No, it is not a Public vehicle\")\n",
|
|
" \n",
|
|
" \n",
|
|
"# Define Child/Sub Class\n",
|
|
"class What_is_it(Vehicle, OnRoad, Public):\n",
|
|
" def __init__(self):\n",
|
|
" super().__init__('Car')"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {
|
|
"Screenshot%20from%202022-10-04%2019-07-03.png": {
|
|
"image/png": "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"
|
|
}
|
|
},
|
|
"cell_type": "markdown",
|
|
"id": "acee28b4",
|
|
"metadata": {},
|
|
"source": [
|
|
"![Screenshot%20from%202022-10-04%2019-07-03.png](attachment:Screenshot%20from%202022-10-04%2019-07-03.png)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "13339858",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate Object\n",
|
|
"thing = What_is_it()\n",
|
|
"thing.is_this_vehicle()\n",
|
|
"thing.is_onroad()\n",
|
|
"thing.is_public()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6b34b85b",
|
|
"metadata": {},
|
|
"source": [
|
|
"For more information on inheritance, you can see this [video](https://www.youtube.com/watch?v=FlGjISF3l78)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "08705e5c",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:plotting\">11. Plotting & Scientific Figures</a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "828e486b-2c9d-470f-9af3-bbfa562ae37a",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
"A major reason for the popularity of Python is the simplicity of creating art work. The following instructions are important to generate figures of sufficient quality for our courses.\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "76ff568d-822a-4b61-96c6-9221fbd79446",
|
|
"metadata": {},
|
|
"source": [
|
|
"- Make sure that all axis have labels. \n",
|
|
"- Always add a legend (images or tables may be exceptions).\n",
|
|
"- Use different line colors, e.g., via matplotlib.colors import LinearSegmentedColormap, ListedColormap.\n",
|
|
"- Use a minimum line width of $2$ and different line styles. \n",
|
|
"- The font size of text in figures should be equal to the figure caption font size.\n",
|
|
"- The caption of a figure needs to be self-explaining. All major elements in a figure need to be defined.\n",
|
|
"- remove bounding boxes of legends and of the graph if not needed.\n",
|
|
"\n",
|
|
"Below we provide a variaity of simple and best practice examples of figures. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "c5f45e1d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Install matplotlib\n",
|
|
"%pip install matplotlib"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c301f605-c228-4128-90fb-e7b0cdacf000",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Simple Figures"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3a93c736-0158-4256-a238-021555eb8aa4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Install matplotlib\n",
|
|
"%pip install matplotlib"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "e39839c5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "24a69812",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Random points\n",
|
|
"x = np.linspace(0,1,200)\n",
|
|
"y = x**3 - x**2 - 1\n",
|
|
"\n",
|
|
"# Plot points\n",
|
|
"fig = plt.Figure()\n",
|
|
"plt.plot(x,y)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "107b9050",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Scatter Plot\n",
|
|
"fig = plt.Figure()\n",
|
|
"plt.scatter(x,y)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8ceda083-b334-40d2-9eab-e44899f5e71b",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Best Practice Examples of Figures"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7447a9b2-60ca-45fd-a44e-507041ecf49e",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Timeseries Data Plots"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "271930b0-3976-4a1e-9572-72ffba07975b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"!pip3 install scikit-learn\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"# Hide the right and top spines\n",
|
|
"plt.rcParams['axes.spines.right'] = False\n",
|
|
"plt.rcParams['axes.spines.top'] = False\n",
|
|
"\n",
|
|
"X = np.linspace(start=0, stop=10, num=1_000).reshape(-1, 1)\n",
|
|
"y = np.squeeze(X * np.sin(X))\n",
|
|
"rng = np.random.RandomState(1)\n",
|
|
"\n",
|
|
"training_indices = rng.choice(np.arange(y.size), size=6, replace=False)\n",
|
|
"X_train, y_train = X[training_indices], y[training_indices]\n",
|
|
"\n",
|
|
"import sklearn as sk\n",
|
|
"from sklearn.gaussian_process import GaussianProcessRegressor\n",
|
|
"from sklearn.gaussian_process.kernels import RBF\n",
|
|
"\n",
|
|
"kernel = 1 * RBF(length_scale=1.0, length_scale_bounds=(1e-2, 1e2))\n",
|
|
"gaussian_process = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=9)\n",
|
|
"gaussian_process.fit(X_train, y_train)\n",
|
|
"gaussian_process.kernel_\n",
|
|
"mean_prediction, std_prediction = gaussian_process.predict(X, return_std=True)\n",
|
|
"\n",
|
|
"plt.plot(X, y, label=r\"$f(x) = x \\sin(x)$\", linestyle=\"dotted\")\n",
|
|
"plt.scatter(X_train, y_train, label=\"Observations\")\n",
|
|
"plt.plot(X, mean_prediction, label=\"Mean prediction\")\n",
|
|
"plt.fill_between(\n",
|
|
" X.ravel(),\n",
|
|
" mean_prediction - 1.96 * std_prediction,\n",
|
|
" mean_prediction + 1.96 * std_prediction,\n",
|
|
" alpha=0.5,\n",
|
|
" label=r\"95% confidence interval\",\n",
|
|
")\n",
|
|
"plt.legend(frameon=False, loc='lower right')\n",
|
|
"plt.xlabel(\"$x$\")\n",
|
|
"plt.ylabel(\"$f(x)$\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "47dec937-83d3-407a-a181-d1c2375524ea",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Bar Plots"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a287d15f-09fa-4286-a343-a717230441d0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"# creating the dataset\n",
|
|
"data = {'C ':20, 'C++ ':15, 'Java ':30,\n",
|
|
" 'Python ':35}\n",
|
|
"data_std = {'C':2, 'C++':2.5, 'Java':2,\n",
|
|
" 'Python':4}\n",
|
|
"courses = list(data.keys())\n",
|
|
"values = list(data.values())\n",
|
|
"stds = list(data_std.values())\n",
|
|
"labels = []\n",
|
|
"for i in range(len(courses)):\n",
|
|
" label = courses[i] + ' ' + str(values[i]) + '+/-' + str(stds[i])\n",
|
|
" labels.append(label)\n",
|
|
"\n",
|
|
"fig = plt.figure(figsize = (10, 5))\n",
|
|
"\n",
|
|
"my_cmap = plt.get_cmap(\"Pastel2\")\n",
|
|
"rescale = lambda values: (values - np.min(values)) / (np.max(values) - np.min(values))\n",
|
|
"\n",
|
|
"plt.bar(courses, values, yerr=stds, capsize=3, color=my_cmap(rescale(values)), label=labels)\n",
|
|
"\n",
|
|
" \n",
|
|
"plt.xlabel(\"Courses offered\")\n",
|
|
"plt.ylabel(\"No. of students enrolled\")\n",
|
|
"\n",
|
|
"plt.legend(frameon=False, loc='upper left')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "85849e6c",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:resources\">12. Advanced Features & Other Resources </a>\n",
|
|
"- [Exceptions](https://realpython.com/python-exceptions/)\n",
|
|
"- [Lambda Function](https://towardsdatascience.com/lambda-functions-with-practical-examples-in-python-45934f3653a8)\n",
|
|
"- [Maps](https://realpython.com/python-map-function/)\n",
|
|
"- [Filters](https://www.programiz.com/python-programming/methods/built-in/filter)\n",
|
|
"- [Reduce](https://www.geeksforgeeks.org/reduce-in-python/)\n",
|
|
"- [Decorators](https://www.programiz.com/python-programming/decorator)\n",
|
|
"- [Generators](https://realpython.com/introduction-to-python-generators/)\n",
|
|
"- [Itertools Module](https://www.geeksforgeeks.org/python-itertools/)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dda1742d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Other Important Libraries to Study"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9190d459",
|
|
"metadata": {},
|
|
"source": [
|
|
"- [Pandas](https://pandas.pydata.org/docs/index.html) : File Handling\n",
|
|
"- [Matplotlib](https://matplotlib.org/stable/index.html): Plotting Graphs\n",
|
|
"- [Scipy](https://scipy.org/) : Scientific Computation\n",
|
|
"- [Scikit-learn](https://scikit-learn.org/stable/) : Machine Learning Algorithms"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4f295187",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Related Tutorials:\n",
|
|
"- Reading Tutorials: https://www.tutorialspoint.com/python/index.htm\n",
|
|
"- Video Tutorials: https://www.youtube.com/watch?v=QXeEoD0pB3E&list=PLsyeobzWxl7poL9JTVyndKe62ieoN-MZ3&index=1\n",
|
|
"- Python Documentations: https://docs.python.org/3/tutorial/"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "3145f451-18a1-48a0-9189-8a58cf52b204",
|
|
"metadata": {},
|
|
"source": [
|
|
"# <a id=\"sec:llms\">13. Using Large Language Models like ChatGPT </a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f98786bc-a9d5-4e4a-b7b8-00cd807c4d9b",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
"Large Langue Models like ChatGPT are great tools to speedup your learning curve and productivity. Yopu are encuraged to use such tools but be aware that you need to adapt the generated code to fulfill our requirements (Comments and Clean Coding Priniples, Encapsulation into Classes, Figure requirements, and many more). Solely using the code generator results will not improve your skills nor will you pass our courses. \n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5ca729cc-204f-4742-b593-02f6b381212a",
|
|
"metadata": {},
|
|
"source": [
|
|
"- Find here a detailed tutorial on how to use ChatGPT for coding: https://realpython.com/chatgpt-coding-mentor-python/. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "42616c52-bc16-45e8-93c3-26a648ff9566",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Example Query for generating Plots\n",
|
|
"\n",
|
|
"### User: \n",
|
|
"Hi, I am learning to program in Python. Can you show me a best practice example of a scientific bar plot with different colors and error bars?\n",
|
|
"\n",
|
|
"### ChatGPT: \n",
|
|
"Certainly! Creating a scientific bar plot with different colors and error bars in Python can be accomplished using libraries like Matplotlib and NumPy. Here's an example that demonstrates best practices for creating such a plot:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "902fe7f4-7dfd-47be-a883-721893bdbe72",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"# Sample data\n",
|
|
"categories = ['Category A', 'Category B', 'Category C', 'Category D']\n",
|
|
"values = [10, 15, 12, 8]\n",
|
|
"errors = [1, 2, 1.5, 1.2]\n",
|
|
"\n",
|
|
"# Define custom colors for the bars\n",
|
|
"colors = ['skyblue', 'salmon', 'lightgreen', 'lightcoral']\n",
|
|
"\n",
|
|
"# Create a figure and axis\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"# Plot the bars with error bars\n",
|
|
"bars = ax.bar(categories, values, yerr=errors, capsize=5, color=colors)\n",
|
|
"\n",
|
|
"# Add labels and a title\n",
|
|
"ax.set_xlabel('Categories')\n",
|
|
"ax.set_ylabel('Values')\n",
|
|
"ax.set_title('Scientific Bar Plot with Error Bars')\n",
|
|
"\n",
|
|
"# Customize the appearance\n",
|
|
"ax.set_ylim(0, max(values) + max(errors) + 1)\n",
|
|
"ax.grid(axis='y', linestyle='--', alpha=0.7)\n",
|
|
"ax.set_axisbelow(True)\n",
|
|
"\n",
|
|
"# Add data labels above the bars\n",
|
|
"for bar, value, error in zip(bars, values, errors):\n",
|
|
" ax.text(\n",
|
|
" bar.get_x() + bar.get_width() / 2,\n",
|
|
" bar.get_height() + 0.5,\n",
|
|
" f'{value:.1f} ± {error:.1f}',\n",
|
|
" ha='center',\n",
|
|
" va='bottom',\n",
|
|
" fontsize=10,\n",
|
|
" )\n",
|
|
"\n",
|
|
"# Show the plot\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "23718836-6f0f-4e75-8ec2-65f466c54eda",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Explainations of ChatGPT:\n",
|
|
"In this example:\n",
|
|
"We import the necessary libraries, Matplotlib and NumPy.\n",
|
|
"We define sample data for categories, values, and errors. You should replace this with your own data.\n",
|
|
"\n",
|
|
"Custom colors are specified for each bar in the colors list.\n",
|
|
"We create a Matplotlib figure and axis.\n",
|
|
"\n",
|
|
"The bar function is used to plot the bars, and the yerr parameter is used to specify error bars. The capsize parameter determines the size of the caps at the end of the error bars.\n",
|
|
"\n",
|
|
"Labels and a title are added to the plot.\n",
|
|
"\n",
|
|
"We customize the appearance of the plot, including setting the y-axis limit, adding a grid, and ensuring the grid is below the bars.\n",
|
|
"\n",
|
|
"Data labels are added above each bar to display the values along with their corresponding errors.\n",
|
|
"\n",
|
|
"Finally, we display the plot using plt.show().\n",
|
|
"\n",
|
|
"You can modify the categories, values, errors, and colors lists to customize the plot for your specific data. This example follows best practices for creating a scientific bar plot with error bars in Python."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "00826db7-b1c7-4678-b445-76cd4da6258d",
|
|
"metadata": {},
|
|
"source": [
|
|
"### User:\n",
|
|
"How can I add a legend to the bar plot?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5db9d40c-2cb3-4606-b03f-dcb8be0a983f",
|
|
"metadata": {},
|
|
"source": [
|
|
"### ChatGPT:\n",
|
|
"\n",
|
|
"In this modified code:\n",
|
|
"\n",
|
|
"We define a list of labels for each bar, corresponding to the legend entries.\n",
|
|
"\n",
|
|
"Inside the loop that plots the bars, we use the label parameter to assign a label to each bar.\n",
|
|
"\n",
|
|
"After plotting all the bars, we add the legend using ax.legend().\n",
|
|
"\n",
|
|
"Now, when you run the code, you will have a legend that indicates which color corresponds to each experiment or category. You can customize the labels list to match your data and legend entries."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "58157f0d-8f63-489f-9e4e-e1eafc3cb802",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"# Sample data\n",
|
|
"categories = ['Category A', 'Category B', 'Category C', 'Category D']\n",
|
|
"values = [10, 15, 12, 8]\n",
|
|
"errors = [1, 2, 1.5, 1.2]\n",
|
|
"\n",
|
|
"# Define custom colors for the bars\n",
|
|
"colors = ['skyblue', 'salmon', 'lightgreen', 'lightcoral']\n",
|
|
"\n",
|
|
"# Define labels for the legend\n",
|
|
"labels = ['Experiment 1', 'Experiment 2', 'Experiment 3', 'Experiment 4']\n",
|
|
"\n",
|
|
"# Create a figure and axis\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"# Plot the bars with error bars and labels for the legend\n",
|
|
"bars = []\n",
|
|
"for i in range(len(categories)):\n",
|
|
" bar = ax.bar(categories[i], values[i], yerr=errors[i], capsize=5, color=colors[i], label=labels[i])\n",
|
|
" bars.append(bar)\n",
|
|
"\n",
|
|
"# Add labels and a title\n",
|
|
"ax.set_xlabel('Categories')\n",
|
|
"ax.set_ylabel('Values')\n",
|
|
"ax.set_title('Scientific Bar Plot with Error Bars')\n",
|
|
"\n",
|
|
"# Customize the appearance\n",
|
|
"ax.set_ylim(0, max(values) + max(errors) + 1)\n",
|
|
"ax.grid(axis='y', linestyle='--', alpha=0.7)\n",
|
|
"ax.set_axisbelow(True)\n",
|
|
"\n",
|
|
"# Add data labels above the bars\n",
|
|
"for bar, value, error in zip(bars, values, errors):\n",
|
|
" ax.text(\n",
|
|
" bar[0].get_x() + bar[0].get_width() / 2,\n",
|
|
" bar[0].get_height() + 0.5,\n",
|
|
" f'{value:.1f} ± {error:.1f}',\n",
|
|
" ha='center',\n",
|
|
" va='bottom',\n",
|
|
" fontsize=10,\n",
|
|
" )\n",
|
|
"\n",
|
|
"# Add the legend\n",
|
|
"ax.legend()\n",
|
|
"\n",
|
|
"# Show the plot\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "bed4db74-7263-495a-954a-3b9794f53940",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Other Queries\n",
|
|
"\n",
|
|
"- 'How can I concatenate list elements like courses[i] with strings like '+/-'?' results in "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dddd39d0-51f3-4d4e-83ca-a9294c2153f0",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### concatenate list elements like courses[i] with strings like '+/-' in Python, you can use string formatting or string concatenation. Here are two common methods to achieve this:\n",
|
|
"\n",
|
|
"* Using f-strings (formatted string literals):"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "f0bb6322-18f4-4cd6-a85d-3fdd6d44161d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"courses = ['Math', 'Physics', 'Chemistry']\n",
|
|
"grades = [90, 85, 88]\n",
|
|
"\n",
|
|
"for i in range(len(courses)):\n",
|
|
" result = f'{courses[i]} +/- {grades[i]}'\n",
|
|
" print(result)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "cfea6f57-1c73-41db-a69b-374bc99000b8",
|
|
"metadata": {},
|
|
"source": [
|
|
"- Using string concatenation with the + operator:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "388e2fd7-8f5e-4124-aba6-cf00412a2fb1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"courses = ['Math', 'Physics', 'Chemistry']\n",
|
|
"grades = [90, 85, 88]\n",
|
|
"\n",
|
|
"for i in range(len(courses)):\n",
|
|
" result = courses[i] + ' +/- ' + str(grades[i])\n",
|
|
" print(result)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "45bdf290-e5a4-47fd-b678-673be7974d2c",
|
|
"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.11.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|