diff --git a/course/numpy/.ipynb_checkpoints/01_basics-checkpoint.ipynb b/course/numpy/.ipynb_checkpoints/01_basics-checkpoint.ipynb deleted file mode 100644 index 3c2218f..0000000 --- a/course/numpy/.ipynb_checkpoints/01_basics-checkpoint.ipynb +++ /dev/null @@ -1,1168 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "b4db2677-a229-40ea-bb5b-d5064390c906", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "id": "5e6e64f1-5820-4907-90f1-d314cebd8b21", - "metadata": {}, - "source": [ - "### Creating Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "7b612c05-8510-4c75-98b9-aa1dd82638ce", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5]\n", - "\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4, 5])\n", - "\n", - "print(arr)\n", - "\n", - "print(type(arr))" - ] - }, - { - "cell_type": "markdown", - "id": "ee4dfe3a-d0bc-44e8-8c13-c81b669fe029", - "metadata": {}, - "source": [ - "### Access Array Elements\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "46ed2f18-325e-433f-b8e8-81a7fcb55a68", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4])\n", - "\n", - "print(arr[0])" - ] - }, - { - "cell_type": "markdown", - "id": "577d8ad4-1ea1-4766-95d0-eca9eaa2e139", - "metadata": {}, - "source": [ - "### Access 2-D Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "f611eb2f-1a51-4922-98cc-e0ca9c23d70c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2nd element on 1st row: 2\n" - ] - } - ], - "source": [ - "arr = np.array([[1,2,3,4,5], [6,7,8,9,10]])\n", - "\n", - "print('2nd element on 1st row: ', arr[0, 1])" - ] - }, - { - "cell_type": "markdown", - "id": "039dd714-035a-47ff-9189-4738d0439a25", - "metadata": {}, - "source": [ - "### Slicing arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "d4b7ab6b-337b-43cc-94a3-80286023cb64", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2 3 4 5]\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4, 5, 6, 7])\n", - "\n", - "print(arr[1:5])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "9f4155d9-85be-412b-a60a-d3d501b3f37e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[5 6 7]\n" - ] - } - ], - "source": [ - "print(arr[4:])" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "c2a24299-e29a-4ac4-a972-b6c29825974e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4]\n" - ] - } - ], - "source": [ - "print(arr[:4])" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "1fb6581f-012f-4e76-92f4-e8334e9d72e1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2 4]\n" - ] - } - ], - "source": [ - "# step -> index 1 to index 5, max 2 elements\n", - "arr = np.array([1, 2, 3, 4, 5, 6, 7])\n", - "\n", - "print(arr[1:5:2])" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "68dc5552-2f13-40dd-9bd6-3db60f025063", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[7 8 9]\n" - ] - } - ], - "source": [ - "# 2 dim array\n", - "arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])\n", - "\n", - "print(arr[1, 1:4])" - ] - }, - { - "cell_type": "markdown", - "id": "dbeb9676-d6cf-44f2-83a5-18fc2cfc1999", - "metadata": {}, - "source": [ - "### Data-Types " - ] - }, - { - "cell_type": "markdown", - "id": "79240bea-6521-4bcb-b630-7bf61e62ce69", - "metadata": {}, - "source": [ - "#### Python\n", - "- strings - used to represent text data, the text is given under quote marks. e.g. \"ABCD\"\n", - "- integer - used to represent integer numbers. e.g. -1, -2, -3\n", - "- float - used to represent real numbers. e.g. 1.2, 42.42\n", - "- boolean - used to represent True or False.\n", - "- complex - used to represent complex numbers. e.g. 1.0 + 2.0j, 1.5 + 2.5j\n", - "\n", - "#### Numpy\n", - "- i - integer\n", - "- b - boolean\n", - "- u - unsigned integer\n", - "- f - float\n", - "- c - complex float\n", - "- m - timedelta\n", - "- M - datetime\n", - "- O - object\n", - "- S - string\n", - "- U - unicode string\n", - "- V - fixed chunk of memory for other type ( void )\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "0be7eb7c-1f64-400a-88f4-6104bb778646", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "int64\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4])\n", - "\n", - "print(arr.dtype)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "ccf3a0c3-7132-4800-9dc3-2c7966ddf0e8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " n-for loops\n", - "arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])\n", - "\n", - "for x in np.nditer(arr):\n", - " print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "3b2ca7d7-28e7-429d-9c1b-a35ae789f50f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "3\n", - "5\n", - "7\n" - ] - } - ], - "source": [ - "# different step size\n", - "arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])\n", - "# Iterate through every scalar element of the 2D array skipping 1 element:\n", - "for x in np.nditer(arr[:, ::2]):\n", - " print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "b3257129-9727-4647-84e6-ac985580fe73", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(0, 0) 1\n", - "(0, 1) 2\n", - "(0, 2) 3\n", - "(0, 3) 4\n", - "(1, 0) 5\n", - "(1, 1) 6\n", - "(1, 2) 7\n", - "(1, 3) 8\n" - ] - } - ], - "source": [ - "#ndenumerate --> returns index too\n", - "arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])\n", - "\n", - "for idx, x in np.ndenumerate(arr):\n", - " print(idx, x)" - ] - }, - { - "cell_type": "markdown", - "id": "299e02df-ed56-4c1c-a4c8-779a0a71f97a", - "metadata": {}, - "source": [ - "### Joining Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "72b19370-5292-4987-b79e-bd8772683bea", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5 6]\n" - ] - } - ], - "source": [ - "arr1 = np.array([1, 2, 3])\n", - "\n", - "arr2 = np.array([4, 5, 6])\n", - "\n", - "arr = np.concatenate((arr1, arr2))\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "bb39d7aa-a1ca-41a4-899e-193610ea4bd8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[1 2 5 6]\n", - " [3 4 7 8]]\n" - ] - } - ], - "source": [ - "#2 dim array\n", - "arr1 = np.array([[1, 2], [3, 4]])\n", - "\n", - "arr2 = np.array([[5, 6], [7, 8]])\n", - "\n", - "arr = np.concatenate((arr1, arr2), axis=1)\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "177a8c9a-2cf8-40a9-bed0-39436910c45b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[1 4]\n", - " [2 5]\n", - " [3 6]]\n" - ] - } - ], - "source": [ - "# stack\n", - "arr1 = np.array([1, 2, 3])\n", - "\n", - "arr2 = np.array([4, 5, 6])\n", - "\n", - "arr = np.stack((arr1, arr2), axis=1)\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "d3519009-19ac-4175-913e-8c5d47b1896f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5 6]\n" - ] - } - ], - "source": [ - "# Stacking Along Rows\n", - "arr1 = np.array([1, 2, 3])\n", - "\n", - "arr2 = np.array([4, 5, 6])\n", - "\n", - "arr = np.hstack((arr1, arr2))\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "d3a2b831-6e4d-4caa-b270-372958b70d49", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[1 2 3]\n", - " [4 5 6]]\n" - ] - } - ], - "source": [ - "# Stacking Along Columns\n", - "arr1 = np.array([1, 2, 3])\n", - "\n", - "arr2 = np.array([4, 5, 6])\n", - "\n", - "arr = np.vstack((arr1, arr2))\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "64a57420-2507-4abd-b573-d9976d2bb385", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[[1 4]\n", - " [2 5]\n", - " [3 6]]]\n" - ] - } - ], - "source": [ - "# Stacking Along Height (depth)\n", - "arr1 = np.array([1, 2, 3])\n", - "\n", - "arr2 = np.array([4, 5, 6])\n", - "\n", - "arr = np.dstack((arr1, arr2))\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "markdown", - "id": "7b226ad5-addb-4ee1-93d4-748df1de2e85", - "metadata": {}, - "source": [ - "### Splitting Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "f357a0b4-7dbf-4cd0-b586-23e06c882f6d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[array([1, 2]), array([3, 4]), array([5, 6])]\n" - ] - } - ], - "source": [ - "# The return value is a list containing three arrays.\n", - "arr = np.array([1, 2, 3, 4, 5, 6])\n", - "\n", - "newarr = np.array_split(arr, 3)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "437b8f01-1309-48c5-a4ef-13dd26f73025", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[array([[1, 2],\n", - " [3, 4]]), array([[5, 6],\n", - " [7, 8]]), array([[ 9, 10],\n", - " [11, 12]])]\n" - ] - } - ], - "source": [ - "# splitting 2dim arrays\n", - "arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])\n", - "\n", - "newarr = np.array_split(arr, 3)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "markdown", - "id": "54416dbe-202c-461c-9417-79043e44207f", - "metadata": {}, - "source": [ - "### Searching Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "c3dc56a2-9928-40b1-9e89-0f61e22efc11", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(array([3, 5, 6]),)\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4, 5, 4, 4])\n", - "\n", - "x = np.where(arr == 4)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "b07a60bd-ddb1-45b8-bae8-452b4140133b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(array([1, 3, 5, 7]),)\n" - ] - } - ], - "source": [ - "# Find the indexes where the values are even (modulo)\n", - "arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])\n", - "\n", - "x = np.where(arr%2 == 0)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "id": "0400ef9f-09f4-4e8d-b183-56e401fa8a5a", - "metadata": {}, - "source": [ - "#### Sorting Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "ad6ff4df-0260-46c6-ace8-f716baaa81ff", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0 1 2 3]\n" - ] - } - ], - "source": [ - "arr = np.array([3, 2, 0, 1])\n", - "sorted_array = np.sort(arr)\n", - "print(sorted_array)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "2f51f21d-4ddc-4677-907f-07038c4e3a80", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[3 2 1 0]\n" - ] - } - ], - "source": [ - "# reverse\n", - "reverse_array = sorted_array[::-1]\n", - "print(reverse_array)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "7264d51f-6d8b-4571-91ef-d8550b539d86", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['apple' 'banana' 'cherry']\n" - ] - } - ], - "source": [ - "arr = np.array(['banana', 'cherry', 'apple'])\n", - "\n", - "print(np.sort(arr))" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "056524c9-a534-4b82-bb7f-4772efb94296", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[2 3 4]\n", - " [0 1 5]]\n" - ] - } - ], - "source": [ - "# 2-dim\n", - "arr = np.array([[3, 2, 4], [5, 0, 1]])\n", - "\n", - "print(np.sort(arr))" - ] - }, - { - "cell_type": "markdown", - "id": "f5a6b9f1-6a39-4f3b-8a98-a45bb6a803fb", - "metadata": {}, - "source": [ - "### Filter Arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "101256a3-98a7-4ee8-bb6d-5386a42043f8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[False False True True]\n", - "[43 44]\n" - ] - } - ], - "source": [ - "arr = np.array([41, 42, 43, 44])\n", - "\n", - "filter_arr = arr > 42\n", - "\n", - "newarr = arr[filter_arr]\n", - "\n", - "print(filter_arr)\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "79b7bfaf-1056-42f8-948e-bb6c2811a25a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[False True False True False True False]\n", - "[2 4 6]\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4, 5, 6, 7])\n", - "\n", - "filter_arr = arr % 2 == 0\n", - "\n", - "newarr = arr[filter_arr]\n", - "\n", - "print(filter_arr)\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d8fcf398-28f3-4380-8aab-7692578ab277", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/numpy/.ipynb_checkpoints/02_random-checkpoint.ipynb b/course/numpy/.ipynb_checkpoints/02_random-checkpoint.ipynb deleted file mode 100644 index 291b63c..0000000 --- a/course/numpy/.ipynb_checkpoints/02_random-checkpoint.ipynb +++ /dev/null @@ -1,250 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "535c30a1-6335-4314-83a1-6e7d23ada40d", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "7e9842e7-4fb8-404c-b6da-283510f314dc", - "metadata": {}, - "outputs": [], - "source": [ - "# hint: Pseudo Random and True Random" - ] - }, - { - "cell_type": "markdown", - "id": "b702eeef-b651-4286-9236-2edca6f0353d", - "metadata": {}, - "source": [ - "### Random Numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "ee62a0e7-e2ce-4570-ae65-ef815526d99b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "88\n" - ] - } - ], - "source": [ - "x = np.random.randint(100)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ad3c430b-dde2-4202-8782-8cfc2cb434f1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.6204661862066633\n" - ] - } - ], - "source": [ - "x = np.random.rand()\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "8e033582-3f93-43b6-b254-5dc0d2baad70", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[90 98 7 34 80]\n" - ] - } - ], - "source": [ - "x=np.random.randint(100, size=(5))\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "bf4cf008-ec0f-4291-a990-eb3cf2b76f14", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5\n" - ] - } - ], - "source": [ - "x = np.random.choice([3, 5, 7, 9])\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "id": "820e0a69-f14d-4fa9-9abf-ba6259de2abf", - "metadata": {}, - "source": [ - "### Random Distribution" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "d04aefc6-a1c0-4ee5-822a-bca76cc5bbc1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[7 7 3 7 3 7 7 7 7 5 7 7 7 5 7 7 5 5 7 5 5 7 5 7 7 3 7 3 7 3 7 7 7 7 7 7 5\n", - " 7 7 3 7 3 7 7 7 5 7 7 5 7 5 7 5 7 5 7 7 7 7 7 3 5 3 7 5 7 7 7 5 5 7 5 7 5\n", - " 5 5 7 7 5 7 7 5 7 3 7 5 7 3 5 5 5 7 5 7 7 3 7 5 7 7]\n" - ] - } - ], - "source": [ - "# Probability Density Function: A function that describes a continuous probability. \n", - "# i.e. probability of all values in an array.\n", - "x = np.random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(100))\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "id": "2e5627e9-7b03-45f8-a776-89bcd069fc71", - "metadata": {}, - "source": [ - "### Normal (Gaussian) Distribution" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b561d19f-041a-4f10-b6b6-ba1827c79abf", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[0.17858464 4.11191574 1.13382304]\n", - " [2.57882466 1.42017738 0.54116511]]\n" - ] - } - ], - "source": [ - "# loc - (Mean) where the peak of the bell exists.\n", - "# scale - (Standard Deviation) how flat the graph distribution should be.\n", - "# size - The shape of the returned array.\n", - "x = np.random.normal(loc=1, scale=2, size=(2, 3))\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "1c683c75-bcc2-40ca-8c27-9ed9aa0ccdd4", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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Boouwy20trYiOzsbaWlpHa6npaUhKytLUFWeQ6/XA4BLfT+bzWa89957aGxsREpKiuhyemXt2rX43ve+hwULFoguBQC7voeUJEl44IEHsGbNGkybNk10Of3y61//Gr6+vggKCkJRURH27NkjuqQ+uXjxIl5//XWsWbNGdCluoT/H09LgkCQJ69evx5w5c5CYmCi6nBs6efIkhg0bBrVajTVr1mD37t0YP3686LJu6L333sM333yDjRs3ii7FjkHdD8899xxkMlmPr+PHj+P111+HwWDAhg0bRJds19vabf7rv/4LOTk52L9/PxQKBVasWGE/WtSZ6waA0tJS3H777bjvvvuwevVqh9fc37pdQV+PkqWB+8UvfoFvv/0W6enpokvplbFjxyI3NxdfffUVfvazn2HlypXIy8sTXVaPiouL8eijj+Kvf/0rNBqN6HLsuIVoP1RVVaGqqqrHe2JjY/GDH/wAH3/8cYcfYGazGQqFAv/xH/+B//3f/x3qUjvpbe1dfZNevnwZUVFRyMrKcngXVl/rLi0txfz58zFz5kzs2LEDcrmY30n78997x44dWLduHerq6oa4ur5rbW2Fj48P/v73v2Pp0qX2648++ihyc3Nx4MABgdX1jkwmw+7du7FkyRLRpfTaI488gg8//BAHDx5EXFyc6HL6ZcGCBYiPj8dbb70lupRuffjhh1i6dCkUCoX9mtlshkwmg1wuh9Fo7PAxR1E6/Cu6geDgYAQHB9/wvtdeew3//d//bf9zaWkpFi5ciIyMDMycOXMoS+xWb2vviu13OqPROJgl9Upf6i4pKcH8+fORnJyM7du3CwtpYGD/vZ3RtcfTXhvUmZmZWLx4scDK3JMkSXjkkUewe/dufPHFFy4b0oD1vYj42dEXt956K06ePNnh2k9+8hMkJCTg17/+tZCQBhjUQyo6OrrDn4cNGwYAiI+PR2RkpIiSeu3YsWM4duwY5syZg4CAAFy6dAnPPPMM4uPjnXpCSGlpKW6++WZER0fjlVdeQWVlpf1j4eHhAiu7saKiItTU1KCoqAhms9m+3n7UqFH27x1nsH79eixfvhzTpk1DSkoKtm3bhqKiIqeeB9DQ0IALFy7Y/5yfn4/c3FwEBgZ2+nvqTNauXYt3330Xe/bsgZ+fn30egE6ng7e3t+Dquvfkk09i0aJFiIqKQn19Pd577z188cUX+Ne//iW6tB75+fl1Gv+3zdEROi9A2HxzD5Sfn+8yy7O+/fZbaf78+VJgYKCkVqul2NhYac2aNdLly5dFl9aj7du3SwC6fDm7lStXdln3559/Lrq0Tno6ntYZff75513+t125cqXo0nrU3ffy9u3bRZfWowcffND+/RESEiLdeuut0v79+0WX1S/OsDyLY9REREROjLO+iYiInBiDmoiIyIkxqImIiJwYg5qIiMiJMaiJiIicGIOaiIjIiTGoiYiInBiDmoiIyIkxqImIiJwYg5qIiMiJMaiJiIic2P8HQBTcdixftnkAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "\n", - "sns.displot(np.random.normal(size=1000), kind=\"kde\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "fbfc0beb-9716-48b6-9b08-d3ef4b867f27", - "metadata": {}, - "source": [ - "\"Some\" other Distributions\n", - "- Normal Distribution\n", - "- Binomial Distribution\n", - "- Poisson Distribution\n", - "- Uniform Distribution\n", - "- Logistic Distribution\n", - "- Multinomial Distribution\n", - "- Exponential Distribution\n", - "- Chi Square Distribution\n", - "- Rayleigh Distribution\n", - "- Pareto Distribution\n", - "- Zipf Distribution\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b7261962-15f5-48db-b2ee-950b2c3c1dc0", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/numpy/.ipynb_checkpoints/03_ufunc-checkpoint.ipynb b/course/numpy/.ipynb_checkpoints/03_ufunc-checkpoint.ipynb deleted file mode 100644 index 8aee512..0000000 --- a/course/numpy/.ipynb_checkpoints/03_ufunc-checkpoint.ipynb +++ /dev/null @@ -1,854 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "f3557a6d-106e-461c-bc75-7ddcef4f81e5", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "id": "80a3b70d-fea8-4a6f-ac02-73e30abc1f66", - "metadata": {}, - "source": [ - "### ufunc\n", - "ufuncs are used to implement vectorization in NumPy which is way faster than iterating over elements.\n", - "\n", - "They also provide broadcasting and additional methods like reduce, accumulate etc. that are very helpful for computation.\n", - "\n", - "ufuncs also take additional arguments, like:\n", - "\n", - "where boolean array or condition defining where the operations should take place.\n", - "\n", - "dtype defining the return type of elements.\n", - "\n", - "out output array where the return value should be copied." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "60f2d36b-d334-4e19-9f63-36688cca1c20", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[5, 7, 9, 11]\n" - ] - } - ], - "source": [ - "# python\n", - "x = [1, 2, 3, 4]\n", - "y = [4, 5, 6, 7]\n", - "z = []\n", - "\n", - "for i, j in zip(x, y):\n", - " z.append(i + j)\n", - "print(z)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0272feaa-47e7-44b4-a66d-dafdffca4a7b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 5 7 9 11]\n" - ] - } - ], - "source": [ - "# numpy\n", - "x = [1, 2, 3, 4]\n", - "y = [4, 5, 6, 7]\n", - "z = np.add(x, y)\n", - "\n", - "print(z)" - ] - }, - { - "cell_type": "markdown", - "id": "5e52ad13-9186-4866-b1c7-3f8a16901c9f", - "metadata": {}, - "source": [ - "#### Own function" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "3d004fc9-f52c-42fb-93a1-f48dd0849ba9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[6 8 10 12]\n" - ] - } - ], - "source": [ - "def myadd(x, y):\n", - " return x+y\n", - "\n", - "myadd = np.frompyfunc(myadd, 2, 1)\n", - "\n", - "print(myadd([1, 2, 3, 4], [5, 6, 7, 8]))" - ] - }, - { - "cell_type": "markdown", - "id": "c034cd44-af9c-44ff-8d74-cf0d8d34b018", - "metadata": {}, - "source": [ - "#### Simple Arithmetic" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "428246a1-ea45-4c0b-bc94-b3f1ad27a0ac", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[30 32 34 36 38 40]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 11, 12, 13, 14, 15])\n", - "arr2 = np.array([20, 21, 22, 23, 24, 25])\n", - "\n", - "newarr = np.add(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "ae349412-0d47-42b4-8c39-56d0839b3d34", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-10 -1 8 17 26 35]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([20, 21, 22, 23, 24, 25])\n", - "\n", - "newarr = np.subtract(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "f61b2129-e31b-4661-a12e-d7897955d163", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 200 420 660 920 1200 1500]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([20, 21, 22, 23, 24, 25])\n", - "\n", - "newarr = np.multiply(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "67540798-c33e-4d1e-a1d9-47c00a121b36", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 3.33333333 4. 3. 5. 25. 1.81818182]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([3, 5, 10, 8, 2, 33])\n", - "\n", - "newarr = np.divide(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "05c10eef-8c8e-4515-9aea-402821f05a02", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 1000 3200000 729000000 6553600000000 2500\n", - " 0]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([3, 5, 6, 8, 2, 33])\n", - "\n", - "newarr = np.power(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c47b12e8-f0a0-45c9-b1e5-202fd2dfdaed", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 1 6 3 0 0 27]\n" - ] - } - ], - "source": [ - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([3, 7, 9, 8, 2, 33])\n", - "\n", - "newarr = np.mod(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "7626b9ec-04f0-421b-a35d-8f30bad5a136", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(array([ 3, 2, 3, 5, 25, 1]), array([ 1, 6, 3, 0, 0, 27]))\n" - ] - } - ], - "source": [ - "# Quotient and Mod\n", - "arr1 = np.array([10, 20, 30, 40, 50, 60])\n", - "arr2 = np.array([3, 7, 9, 8, 2, 33])\n", - "\n", - "newarr = np.divmod(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "e436c31a-a796-4be1-9e7f-ddaf0f026dec", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 1 2 3 4]\n" - ] - } - ], - "source": [ - "arr = np.array([-1, -2, 1, 2, 3, -4])\n", - "\n", - "newarr = np.absolute(arr)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "markdown", - "id": "d55a17c4-1f67-4629-8a85-64f9faa32370", - "metadata": {}, - "source": [ - "### Rounding Decimals\n", - "- truncation\n", - "- fix\n", - "- rounding\n", - "- floor\n", - "- ceil" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "11395b0f-660b-4c28-a2ed-1c722b560a71", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-3. 3.]\n" - ] - } - ], - "source": [ - "# Truncation\n", - "# Remove the decimals, and return the float number closest to zero. Use the trunc() and fix() functions.\n", - "\n", - "arr = np.trunc([-3.1666, 3.6667])\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "9d2c024e-07ca-43cd-978b-206a391e35f1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-3. 3.]\n" - ] - } - ], - "source": [ - "arr = np.fix([-3.1666, 3.6667])\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "59ca3a99-da45-4a5c-8a2f-bcb6b22a5998", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3.17\n" - ] - } - ], - "source": [ - "# rounding\n", - "arr = np.around(3.1666, 2)\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "e213a874-e4b0-4a3e-831a-5e9ff93c3d94", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-4. 3.]\n" - ] - } - ], - "source": [ - "arr = np.floor([-3.1666, 3.6667])\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "fbe93a72-8e92-4b36-bfab-232c1617e4f1", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-3. 4.]\n" - ] - } - ], - "source": [ - "arr = np.ceil([-3.1666, 3.6667])\n", - "\n", - "print(arr)" - ] - }, - { - "cell_type": "markdown", - "id": "225b1cd3-85cf-492d-8f1d-b2c94eb63783", - "metadata": {}, - "source": [ - "### Logs" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "995a441d-e78e-4ace-b6fc-b497cce04268", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5 6 7 8 9]\n", - "[0. 1. 1.5849625 2. 2.32192809 2.5849625\n", - " 2.80735492 3. 3.169925 ]\n" - ] - } - ], - "source": [ - "# log2() function to perform log at the base 2.\n", - "arr = np.arange(1, 10)\n", - "print(arr)\n", - "print(np.log2(arr))\n" - ] - }, - { - "cell_type": "markdown", - "id": "b386fbe7-54c7-48dd-8b08-10f053e00638", - "metadata": {}, - "source": [ - "### Summations" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "16f39361-d8a9-4d9a-970e-72367f2d4685", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2 4 6]\n" - ] - } - ], - "source": [ - "arr1 = np.array([1, 2, 3])\n", - "arr2 = np.array([1, 2, 3])\n", - "\n", - "newarr = np.add(arr1, arr2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "bd241f37-75bf-4ee5-bcb4-8c72695eb75d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "12\n" - ] - } - ], - "source": [ - "arr1 = np.array([1, 2, 3])\n", - "arr2 = np.array([1, 2, 3])\n", - "\n", - "newarr = np.sum([arr1, arr2])\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "7309e9d4-c239-4c42-8389-413df30d6abc", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[6 6]\n" - ] - } - ], - "source": [ - "# summation over axis\n", - "arr1 = np.array([1, 2, 3])\n", - "arr2 = np.array([1, 2, 3])\n", - "\n", - "newarr = np.sum([arr1, arr2], axis=1)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "markdown", - "id": "518cdbe0-417b-4085-9575-729595ae2a52", - "metadata": {}, - "source": [ - "### Products" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "0211ead9-2b18-4409-a4c6-179688bdd203", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "24\n" - ] - } - ], - "source": [ - "arr = np.array([1, 2, 3, 4])\n", - "\n", - "x = np.prod(arr)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "id": "207af559-db09-48f5-b462-40fd52500bb4", - "metadata": {}, - "source": [ - "### Differences" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "5215ae9f-709b-4206-90f3-95b5dd391f68", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 5 10 -20]\n" - ] - } - ], - "source": [ - "arr = np.array([10, 15, 25, 5])\n", - "\n", - "newarr = np.diff(arr)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "23aeea8b-3f92-490e-927d-a61a8426a365", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 5 -30]\n" - ] - } - ], - "source": [ - "# Compute discrete difference of the following array twice\n", - "# 15-10=5, 25-15=10, and 5-25=-20 AND 10-5=5 and -20-10=-30\n", - "arr = np.array([10, 15, 25, 5])\n", - "\n", - "newarr = np.diff(arr, n=2)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "markdown", - "id": "0da9fba4-7ae2-4bfe-94b8-378d3d124b57", - "metadata": {}, - "source": [ - "#### Other" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "69a07fa4-546c-47cd-99b2-a14548b886e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "12\n" - ] - } - ], - "source": [ - "# Finding LCM (Lowest Common Multiple)\n", - "num1 = 4\n", - "num2 = 6\n", - "# (4*3=12 and 6*2=12)\n", - "x = np.lcm(num1, num2)\n", - "\n", - "print(x) " - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "9c874e84-1ca6-44f8-871b-0c57d05ac360", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "18\n" - ] - } - ], - "source": [ - "arr = np.array([3, 6, 9])\n", - "\n", - "x = np.lcm.reduce(arr)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "d7f635b8-7915-452b-8ee1-e963ed5e8f54", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3\n" - ] - } - ], - "source": [ - "# Finding GCD (Greatest Common Denominator)\n", - "num1 = 6\n", - "num2 = 9\n", - "\n", - "x = np.gcd(num1, num2)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "d39331bf-062b-41b8-b7fe-082312dd5d6f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5 6 7]\n" - ] - } - ], - "source": [ - "# unique\n", - "arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])\n", - "\n", - "x = np.unique(arr)\n", - "\n", - "print(x)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "126fdebd-0a45-4be7-a65d-b4e119ebef7d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2 3 4 5 6]\n" - ] - } - ], - "source": [ - "arr1 = np.array([1, 2, 3, 4])\n", - "arr2 = np.array([3, 4, 5, 6])\n", - "\n", - "newarr = np.union1d(arr1, arr2)\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "a84475b1-15c3-4c8f-8535-2913a4b8579d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[3 4]\n" - ] - } - ], - "source": [ - "arr1 = np.array([1, 2, 3, 4])\n", - "arr2 = np.array([3, 4, 5, 6])\n", - "\n", - "newarr = np.intersect1d(arr1, arr2, assume_unique=True)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "771b4dc1-78e9-4819-af4f-b2bb3bc154e5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1 2]\n" - ] - } - ], - "source": [ - "set1 = np.array([1, 2, 3, 4])\n", - "set2 = np.array([3, 4, 5, 6])\n", - "\n", - "newarr = np.setdiff1d(set1, set2, assume_unique=True)\n", - "\n", - "print(newarr)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "95b8cec1-8b0e-43fb-acae-428d7778c03e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0\n" - ] - } - ], - "source": [ - "# Trigonometric Functions\n", - "x = np.sin(np.pi/2)\n", - "\n", - "print(x)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "e3dbac10-d7bd-45bb-974b-56f8f6082de8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[1.57079633 3.14159265 4.71238898 6.28318531]\n" - ] - } - ], - "source": [ - "# and sin(), cos() and tan()\n", - "# np.deg2rad(arr)\n", - "# Hyperbolic: sinh(), cosh() and tanh()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "67cab045-d1ef-4de1-9aaa-5257d5ba5571", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/pandas/.ipynb_checkpoints/01_basics-checkpoint.ipynb b/course/pandas/.ipynb_checkpoints/01_basics-checkpoint.ipynb deleted file mode 100644 index 5f440b3..0000000 --- a/course/pandas/.ipynb_checkpoints/01_basics-checkpoint.ipynb +++ /dev/null @@ -1,631 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "bd4b5db9-6439-4519-aef0-c8bb8ffd6a13", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd" - ] - }, - { - "cell_type": "markdown", - "id": "a3c4bf54-07f7-46bb-9ae5-77c3a4518627", - "metadata": {}, - "source": [ - "### Basics" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "def1dfe3-6afe-4f5e-9714-36b65811094a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " cars passings\n", - "0 BMW 3\n", - "1 Volvo 7\n", - "2 Ford 2\n" - ] - } - ], - "source": [ - "mydataset = {\n", - " 'cars': [\"BMW\", \"Volvo\", \"Ford\"],\n", - " 'passings': [3, 7, 2]\n", - "}\n", - "\n", - "myvar = pd.DataFrame(mydataset)\n", - "\n", - "print(myvar)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "0785d9bd-e5b1-4221-84e9-1a1a6a2cf37e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 1\n", - "1 7\n", - "2 2\n", - "dtype: int64\n" - ] - } - ], - "source": [ - "# series: numpy arrays!\n", - "a = [1, 7, 2]\n", - "\n", - "myvar = pd.Series(a)\n", - "\n", - "print(myvar)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "2d7a5f33-79a2-4e2a-9b14-eee43db90662", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x 1\n", - "y 7\n", - "z 2\n", - "dtype: int64\n" - ] - } - ], - "source": [ - "# labels\n", - "a = [1, 7, 2]\n", - "\n", - "myvar = pd.Series(a, index = [\"x\", \"y\", \"z\"])\n", - "\n", - "print(myvar)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "cba4f2ef-45d1-4c23-94ce-7197c43d4aee", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "day1 420\n", - "day2 380\n", - "day3 390\n", - "dtype: int64\n" - ] - } - ], - "source": [ - "# key value objects\n", - "calories = {\"day1\": 420, \"day2\": 380, \"day3\": 390}\n", - "\n", - "myvar = pd.Series(calories)\n", - "\n", - "print(myvar)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "e965971f-6a97-42c4-81bf-2550e57cd7e9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " calories duration\n", - "0 420 50\n", - "1 380 40\n", - "2 390 45\n" - ] - } - ], - "source": [ - "# dataframe = multi-dimensional tables\n", - "data = {\n", - " \"calories\": [420, 380, 390],\n", - " \"duration\": [50, 40, 45]\n", - "}\n", - "\n", - "df = pd.DataFrame(data)\n", - "\n", - "print(df)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a6650272-40db-4237-b2d6-83d3652184c2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "calories 420\n", - "duration 50\n", - "Name: 0, dtype: int64\n" - ] - } - ], - "source": [ - "# locate row\n", - "print(df.loc[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "694a5a9b-c280-454c-b7c6-236eda33d8f4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " calories duration\n", - "0 420 50\n", - "1 380 40\n" - ] - } - ], - "source": [ - "#use a list of indexes:\n", - "print(df.loc[[0, 1]])" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "e3ff6022-327e-446d-a739-011730d1db8a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " calories duration\n", - "day1 420 50\n", - "day2 380 40\n", - "day3 390 45\n" - ] - } - ], - "source": [ - "# named index\n", - "data = {\n", - " \"calories\": [420, 380, 390],\n", - " \"duration\": [50, 40, 45]\n", - "}\n", - "\n", - "df = pd.DataFrame(data, index = [\"day1\", \"day2\", \"day3\"])\n", - "\n", - "print(df) " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "4d8a50a4-7c1d-4ef7-ab0b-09cbc8085ad6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "calories 380\n", - "duration 40\n", - "Name: day2, dtype: int64\n" - ] - } - ], - "source": [ - "#refer to the named index:\n", - "print(df.loc[\"day2\"])" - ] - }, - { - "cell_type": "markdown", - "id": "b18cee34-c5dd-43df-9e2e-bd20ebeed8ed", - "metadata": {}, - "source": [ - "### Loading Files" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "abef3aeb-d82c-4cc5-a2d2-7a70313f0712", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Duration Pulse Maxpulse Calories\n", - "0 60 110 130 409.1\n", - "1 60 117 145 479.0\n", - "2 60 103 135 340.0\n", - "3 45 109 175 282.4\n", - "4 45 117 148 406.0\n", - "5 60 102 127 300.0\n", - "6 60 110 136 374.0\n", - "7 45 104 134 253.3\n", - "8 30 109 133 195.1\n", - "9 60 98 124 269.0\n", - "10 60 103 147 329.3\n", - "11 60 100 120 250.7\n", - "12 60 106 128 345.3\n", - "13 60 104 132 379.3\n", - "14 60 98 123 275.0\n", - "15 60 98 120 215.2\n", - "16 60 100 120 300.0\n", - "17 45 90 112 NaN\n", - "18 60 103 123 323.0\n", - "19 45 97 125 243.0\n", - "20 60 108 131 364.2\n", - "21 45 100 119 282.0\n", - "22 60 130 101 300.0\n", - "23 45 105 132 246.0\n", - "24 60 102 126 334.5\n", - "25 60 100 120 250.0\n", - "26 60 92 118 241.0\n", - "27 60 103 132 NaN\n", - "28 60 100 132 280.0\n", - "29 60 102 129 380.3\n", - "30 60 92 115 243.0\n", - "31 45 90 112 180.1\n", - "32 60 101 124 299.0\n", - "33 60 93 113 223.0\n", - "34 60 107 136 361.0\n", - "35 60 114 140 415.0\n", - "36 60 102 127 300.0\n", - "37 60 100 120 300.0\n", - "38 60 100 120 300.0\n", - "39 45 104 129 266.0\n", - "40 45 90 112 180.1\n", - "41 60 98 126 286.0\n", - "42 60 100 122 329.4\n", - "43 60 111 138 400.0\n", - "44 60 111 131 397.0\n", - "45 60 99 119 273.0\n", - "46 60 109 153 387.6\n", - "47 45 111 136 300.0\n", - "48 45 108 129 298.0\n", - "49 60 111 139 397.6\n", - "50 60 107 136 380.2\n", - "51 80 123 146 643.1\n", - "52 60 106 130 263.0\n", - "53 60 118 151 486.0\n", - "54 30 136 175 238.0\n", - "55 60 121 146 450.7\n", - "56 60 118 121 413.0\n", - "57 45 115 144 305.0\n", - "58 20 153 172 226.4\n", - "59 45 123 152 321.0\n", - "60 210 108 160 1376.0\n", - "61 160 110 137 1034.4\n", - "62 160 109 135 853.0\n", - "63 45 118 141 341.0\n", - "64 20 110 130 131.4\n", - "65 180 90 130 800.4\n", - "66 150 105 135 873.4\n", - "67 150 107 130 816.0\n", - "68 20 106 136 110.4\n", - "69 300 108 143 1500.2\n", - "70 150 97 129 1115.0\n", - "71 60 109 153 387.6\n", - "72 90 100 127 700.0\n", - "73 150 97 127 953.2\n", - "74 45 114 146 304.0\n", - "75 90 98 125 563.2\n", - "76 45 105 134 251.0\n", - "77 45 110 141 300.0\n", - "78 120 100 130 500.4\n", - "79 270 100 131 1729.0\n", - "80 30 159 182 319.2\n", - "81 45 149 169 344.0\n", - "82 30 103 139 151.1\n", - "83 120 100 130 500.0\n", - "84 45 100 120 225.3\n", - "85 30 151 170 300.0\n", - "86 45 102 136 234.0\n", - "87 120 100 157 1000.1\n", - "88 45 129 103 242.0\n", - "89 20 83 107 50.3\n", - "90 180 101 127 600.1\n", - "91 45 107 137 NaN\n", - "92 30 90 107 105.3\n", - "93 15 80 100 50.5\n", - "94 20 150 171 127.4\n", - "95 20 151 168 229.4\n", - "96 30 95 128 128.2\n", - "97 25 152 168 244.2\n", - "98 30 109 131 188.2\n", - "99 90 93 124 604.1\n", - "100 20 95 112 77.7\n", - "101 90 90 110 500.0\n", - "102 90 90 100 500.0\n", - "103 90 90 100 500.4\n", - "104 30 92 108 92.7\n", - "105 30 93 128 124.0\n", - "106 180 90 120 800.3\n", - "107 30 90 120 86.2\n", - "108 90 90 120 500.3\n", - "109 210 137 184 1860.4\n", - "110 60 102 124 325.2\n", - "111 45 107 124 275.0\n", - "112 15 124 139 124.2\n", - "113 45 100 120 225.3\n", - "114 60 108 131 367.6\n", - "115 60 108 151 351.7\n", - "116 60 116 141 443.0\n", - "117 60 97 122 277.4\n", - "118 60 105 125 NaN\n", - "119 60 103 124 332.7\n", - "120 30 112 137 193.9\n", - "121 45 100 120 100.7\n", - "122 60 119 169 336.7\n", - "123 60 107 127 344.9\n", - "124 60 111 151 368.5\n", - "125 60 98 122 271.0\n", - "126 60 97 124 275.3\n", - "127 60 109 127 382.0\n", - "128 90 99 125 466.4\n", - "129 60 114 151 384.0\n", - "130 60 104 134 342.5\n", - "131 60 107 138 357.5\n", - "132 60 103 133 335.0\n", - "133 60 106 132 327.5\n", - "134 60 103 136 339.0\n", - "135 20 136 156 189.0\n", - "136 45 117 143 317.7\n", - "137 45 115 137 318.0\n", - "138 45 113 138 308.0\n", - "139 20 141 162 222.4\n", - "140 60 108 135 390.0\n", - "141 60 97 127 NaN\n", - "142 45 100 120 250.4\n", - "143 45 122 149 335.4\n", - "144 60 136 170 470.2\n", - "145 45 106 126 270.8\n", - "146 60 107 136 400.0\n", - "147 60 112 146 361.9\n", - "148 30 103 127 185.0\n", - "149 60 110 150 409.4\n", - "150 60 106 134 343.0\n", - "151 60 109 129 353.2\n", - "152 60 109 138 374.0\n", - "153 30 150 167 275.8\n", - "154 60 105 128 328.0\n", - "155 60 111 151 368.5\n", - "156 60 97 131 270.4\n", - "157 60 100 120 270.4\n", - "158 60 114 150 382.8\n", - "159 30 80 120 240.9\n", - "160 30 85 120 250.4\n", - "161 45 90 130 260.4\n", - "162 45 95 130 270.0\n", - "163 45 100 140 280.9\n", - "164 60 105 140 290.8\n", - "165 60 110 145 300.0\n", - "166 60 115 145 310.2\n", - "167 75 120 150 320.4\n", - "168 75 125 150 330.4\n" - ] - } - ], - "source": [ - "#https://www.w3schools.com/python/pandas/data.csv\n", - "df = pd.read_csv('https://www.w3schools.com/python/pandas/data.csv')\n", - "\n", - "print(df.to_string()) " - ] - }, - { - "cell_type": "markdown", - "id": "1dba1828-de88-4a61-868b-5a8b638254f0", - "metadata": {}, - "source": [ - "#### Analyze Data" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "e89c6f79-b957-4c6b-85bc-c76b362d7a2a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(169, 4)\n" - ] - } - ], - "source": [ - "print(df.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "460724ee-1ba6-461c-801e-46632a68c837", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "RangeIndex: 169 entries, 0 to 168\n", - "Data columns (total 4 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 Duration 169 non-null int64 \n", - " 1 Pulse 169 non-null int64 \n", - " 2 Maxpulse 169 non-null int64 \n", - " 3 Calories 164 non-null float64\n", - "dtypes: float64(1), int64(3)\n", - "memory usage: 5.4 KB\n", - "None\n" - ] - } - ], - "source": [ - "print(df.info()) " - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "418bbc3e-53ff-4ea2-9728-1b8aa94a140d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Duration Pulse Maxpulse Calories\n", - "0 60 110 130 409.1\n", - "1 60 117 145 479.0\n", - "2 60 103 135 340.0\n", - "3 45 109 175 282.4\n", - "4 45 117 148 406.0\n", - "5 60 102 127 300.0\n", - "6 60 110 136 374.0\n", - "7 45 104 134 253.3\n", - "8 30 109 133 195.1\n", - "9 60 98 124 269.0\n" - ] - } - ], - "source": [ - "print(df.head(10))" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "b7424301-9bb4-4200-b2d5-bcc8a22c6427", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Duration Pulse Maxpulse Calories\n", - "0 60 110 130 409.1\n", - "1 60 117 145 479.0\n", - "2 60 103 135 340.0\n", - "3 45 109 175 282.4\n", - "4 45 117 148 406.0\n" - ] - } - ], - "source": [ - "print(df.head())" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "a7649f71-6c14-4158-8040-08019577b1ad", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Duration Pulse Maxpulse Calories\n", - "164 60 105 140 290.8\n", - "165 60 110 145 300.0\n", - "166 60 115 145 310.2\n", - "167 75 120 150 320.4\n", - "168 75 125 150 330.4\n" - ] - } - ], - "source": [ - "print(df.tail())" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "8da3696c-6a3c-4727-8cea-6442d7cedf28", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "count 169.000000\n", - "mean 107.461538\n", - "std 14.510259\n", - "min 80.000000\n", - "25% 100.000000\n", - "50% 105.000000\n", - "75% 111.000000\n", - "max 159.000000\n", - "Name: Pulse, dtype: float64\n" - ] - } - ], - "source": [ - "print(df['Pulse'].describe())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8689d23c-5d68-4fdb-bcef-9ae080442a27", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/pandas/.ipynb_checkpoints/02_cleaning-checkpoint.ipynb b/course/pandas/.ipynb_checkpoints/02_cleaning-checkpoint.ipynb deleted file mode 100644 index 9305fe3..0000000 --- a/course/pandas/.ipynb_checkpoints/02_cleaning-checkpoint.ipynb +++ /dev/null @@ -1,2206 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "b0c0ae08-2fb5-47f5-a5ce-1a66e35791a4", - "metadata": {}, - "source": [ - "### Cleaning Data" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f9998a78-ae01-4531-b325-637b6d5ee86d", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "9516a86a-ed6a-4f79-b631-3195daec258c", - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv('https://gist.githubusercontent.com/maltegrosse/bdfd2c6a5e3bff315d92cd27c2461a48/raw/49d5672953360934601b3d252c9b78121eed10db/data.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ea25a32c-70d3-479d-8d11-7e487f13f50c", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
060'2020/12/01'110130409.1
160'2020/12/02'117145479.0
260'2020/12/03'103135340.0
345'2020/12/04'109175282.4
445'2020/12/05'117148406.0
560'2020/12/06'102127300.0
660'2020/12/07'110136374.0
7450'2020/12/08'104134253.3
830'2020/12/09'109133195.1
960'2020/12/10'98124269.0
1060'2020/12/11'103147329.3
1160'2020/12/12'100120250.7
1260'2020/12/12'100120250.7
1360'2020/12/13'106128345.3
1460'2020/12/14'104132379.3
1560'2020/12/15'98123275.0
1660'2020/12/16'98120215.2
1760'2020/12/17'100120300.0
1845'2020/12/18'90112NaN
1960'2020/12/19'103123323.0
2045'2020/12/20'97125243.0
2160'2020/12/21'108131364.2
2245NaN100119282.0
2360'2020/12/23'130101300.0
2445'2020/12/24'105132246.0
2560'2020/12/25'102126334.5
266020201226100120250.0
2760'2020/12/27'92118241.0
2860'2020/12/28'103132NaN
2960'2020/12/29'100132280.0
3060'2020/12/30'102129380.3
3160'2020/12/31'92115243.0
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 '2020/12/01' 110 130 409.1\n", - "1 60 '2020/12/02' 117 145 479.0\n", - "2 60 '2020/12/03' 103 135 340.0\n", - "3 45 '2020/12/04' 109 175 282.4\n", - "4 45 '2020/12/05' 117 148 406.0\n", - "5 60 '2020/12/06' 102 127 300.0\n", - "6 60 '2020/12/07' 110 136 374.0\n", - "7 450 '2020/12/08' 104 134 253.3\n", - "8 30 '2020/12/09' 109 133 195.1\n", - "9 60 '2020/12/10' 98 124 269.0\n", - "10 60 '2020/12/11' 103 147 329.3\n", - "11 60 '2020/12/12' 100 120 250.7\n", - "12 60 '2020/12/12' 100 120 250.7\n", - "13 60 '2020/12/13' 106 128 345.3\n", - "14 60 '2020/12/14' 104 132 379.3\n", - "15 60 '2020/12/15' 98 123 275.0\n", - "16 60 '2020/12/16' 98 120 215.2\n", - "17 60 '2020/12/17' 100 120 300.0\n", - "18 45 '2020/12/18' 90 112 NaN\n", - "19 60 '2020/12/19' 103 123 323.0\n", - "20 45 '2020/12/20' 97 125 243.0\n", - "21 60 '2020/12/21' 108 131 364.2\n", - "22 45 NaN 100 119 282.0\n", - "23 60 '2020/12/23' 130 101 300.0\n", - "24 45 '2020/12/24' 105 132 246.0\n", - "25 60 '2020/12/25' 102 126 334.5\n", - "26 60 20201226 100 120 250.0\n", - "27 60 '2020/12/27' 92 118 241.0\n", - "28 60 '2020/12/28' 103 132 NaN\n", - "29 60 '2020/12/29' 100 132 280.0\n", - "30 60 '2020/12/30' 102 129 380.3\n", - "31 60 '2020/12/31' 92 115 243.0" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "2baf29d8-cd8f-4dfd-931a-c413a995320e", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
060'2020/12/01'110130409.1
160'2020/12/02'117145479.0
260'2020/12/03'103135340.0
345'2020/12/04'109175282.4
445'2020/12/05'117148406.0
560'2020/12/06'102127300.0
660'2020/12/07'110136374.0
7450'2020/12/08'104134253.3
830'2020/12/09'109133195.1
960'2020/12/10'98124269.0
1060'2020/12/11'103147329.3
1160'2020/12/12'100120250.7
1260'2020/12/12'100120250.7
1360'2020/12/13'106128345.3
1460'2020/12/14'104132379.3
1560'2020/12/15'98123275.0
1660'2020/12/16'98120215.2
1760'2020/12/17'100120300.0
1960'2020/12/19'103123323.0
2045'2020/12/20'97125243.0
2160'2020/12/21'108131364.2
2360'2020/12/23'130101300.0
2445'2020/12/24'105132246.0
2560'2020/12/25'102126334.5
266020201226100120250.0
2760'2020/12/27'92118241.0
2960'2020/12/29'100132280.0
3060'2020/12/30'102129380.3
3160'2020/12/31'92115243.0
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 '2020/12/01' 110 130 409.1\n", - "1 60 '2020/12/02' 117 145 479.0\n", - "2 60 '2020/12/03' 103 135 340.0\n", - "3 45 '2020/12/04' 109 175 282.4\n", - "4 45 '2020/12/05' 117 148 406.0\n", - "5 60 '2020/12/06' 102 127 300.0\n", - "6 60 '2020/12/07' 110 136 374.0\n", - "7 450 '2020/12/08' 104 134 253.3\n", - "8 30 '2020/12/09' 109 133 195.1\n", - "9 60 '2020/12/10' 98 124 269.0\n", - "10 60 '2020/12/11' 103 147 329.3\n", - "11 60 '2020/12/12' 100 120 250.7\n", - "12 60 '2020/12/12' 100 120 250.7\n", - "13 60 '2020/12/13' 106 128 345.3\n", - "14 60 '2020/12/14' 104 132 379.3\n", - "15 60 '2020/12/15' 98 123 275.0\n", - "16 60 '2020/12/16' 98 120 215.2\n", - "17 60 '2020/12/17' 100 120 300.0\n", - "19 60 '2020/12/19' 103 123 323.0\n", - "20 45 '2020/12/20' 97 125 243.0\n", - "21 60 '2020/12/21' 108 131 364.2\n", - "23 60 '2020/12/23' 130 101 300.0\n", - "24 45 '2020/12/24' 105 132 246.0\n", - "25 60 '2020/12/25' 102 126 334.5\n", - "26 60 20201226 100 120 250.0\n", - "27 60 '2020/12/27' 92 118 241.0\n", - "29 60 '2020/12/29' 100 132 280.0\n", - "30 60 '2020/12/30' 102 129 380.3\n", - "31 60 '2020/12/31' 92 115 243.0" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# drop null/NaN\n", - "new_df = df.dropna()\n", - "new_df" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "37533007-2851-49da-8fca-2e9d3b74c406", - "metadata": {}, - "outputs": [], - "source": [ - "# hint df.dropna(inplace = True) <- manipulates orginal df" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e94f0608-1928-4dec-b28c-3f56d72b1867", - "metadata": {}, - "outputs": [], - "source": [ - "# fill missing values\n", - "# df.fillna(130, inplace = True)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "025cec14-2687-4ec5-9fa9-f10f1da927ea", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
060'2020/12/01'110130409.10
160'2020/12/02'117145479.00
260'2020/12/03'103135340.00
345'2020/12/04'109175282.40
445'2020/12/05'117148406.00
560'2020/12/06'102127300.00
660'2020/12/07'110136374.00
7450'2020/12/08'104134253.30
830'2020/12/09'109133195.10
960'2020/12/10'98124269.00
1060'2020/12/11'103147329.30
1160'2020/12/12'100120250.70
1260'2020/12/12'100120250.70
1360'2020/12/13'106128345.30
1460'2020/12/14'104132379.30
1560'2020/12/15'98123275.00
1660'2020/12/16'98120215.20
1760'2020/12/17'100120300.00
1845'2020/12/18'90112304.68
1960'2020/12/19'103123323.00
2045'2020/12/20'97125243.00
2160'2020/12/21'108131364.20
2245NaN100119282.00
2360'2020/12/23'130101300.00
2445'2020/12/24'105132246.00
2560'2020/12/25'102126334.50
266020201226100120250.00
2760'2020/12/27'92118241.00
2860'2020/12/28'103132304.68
2960'2020/12/29'100132280.00
3060'2020/12/30'102129380.30
3160'2020/12/31'92115243.00
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 '2020/12/01' 110 130 409.10\n", - "1 60 '2020/12/02' 117 145 479.00\n", - "2 60 '2020/12/03' 103 135 340.00\n", - "3 45 '2020/12/04' 109 175 282.40\n", - "4 45 '2020/12/05' 117 148 406.00\n", - "5 60 '2020/12/06' 102 127 300.00\n", - "6 60 '2020/12/07' 110 136 374.00\n", - "7 450 '2020/12/08' 104 134 253.30\n", - "8 30 '2020/12/09' 109 133 195.10\n", - "9 60 '2020/12/10' 98 124 269.00\n", - "10 60 '2020/12/11' 103 147 329.30\n", - "11 60 '2020/12/12' 100 120 250.70\n", - "12 60 '2020/12/12' 100 120 250.70\n", - "13 60 '2020/12/13' 106 128 345.30\n", - "14 60 '2020/12/14' 104 132 379.30\n", - "15 60 '2020/12/15' 98 123 275.00\n", - "16 60 '2020/12/16' 98 120 215.20\n", - "17 60 '2020/12/17' 100 120 300.00\n", - "18 45 '2020/12/18' 90 112 304.68\n", - "19 60 '2020/12/19' 103 123 323.00\n", - "20 45 '2020/12/20' 97 125 243.00\n", - "21 60 '2020/12/21' 108 131 364.20\n", - "22 45 NaN 100 119 282.00\n", - "23 60 '2020/12/23' 130 101 300.00\n", - "24 45 '2020/12/24' 105 132 246.00\n", - "25 60 '2020/12/25' 102 126 334.50\n", - "26 60 20201226 100 120 250.00\n", - "27 60 '2020/12/27' 92 118 241.00\n", - "28 60 '2020/12/28' 103 132 304.68\n", - "29 60 '2020/12/29' 100 132 280.00\n", - "30 60 '2020/12/30' 102 129 380.30\n", - "31 60 '2020/12/31' 92 115 243.00" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x = df[\"Calories\"].mean()\n", - "\n", - "df[\"Calories\"].fillna(x, inplace=True)\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "d2e87f3b-ef58-4128-b52f-799056e56de8", - "metadata": {}, - "outputs": [], - "source": [ - "x = df[\"Calories\"].median()\n", - "\n", - "df[\"Calories\"].fillna(x, inplace = True)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "c42df786-aa1b-4174-b436-566421f1683b", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
0602020-12-01110130409.10
1602020-12-02117145479.00
2602020-12-03103135340.00
3452020-12-04109175282.40
4452020-12-05117148406.00
5602020-12-06102127300.00
6602020-12-07110136374.00
74502020-12-08104134253.30
8302020-12-09109133195.10
9602020-12-1098124269.00
10602020-12-11103147329.30
11602020-12-12100120250.70
12602020-12-12100120250.70
13602020-12-13106128345.30
14602020-12-14104132379.30
15602020-12-1598123275.00
16602020-12-1698120215.20
17602020-12-17100120300.00
18452020-12-1890112304.68
19602020-12-19103123323.00
20452020-12-2097125243.00
21602020-12-21108131364.20
2245NaT100119282.00
23602020-12-23130101300.00
24452020-12-24105132246.00
25602020-12-25102126334.50
26602020-12-26100120250.00
27602020-12-2792118241.00
28602020-12-28103132304.68
29602020-12-29100132280.00
30602020-12-30102129380.30
31602020-12-3192115243.00
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 2020-12-01 110 130 409.10\n", - "1 60 2020-12-02 117 145 479.00\n", - "2 60 2020-12-03 103 135 340.00\n", - "3 45 2020-12-04 109 175 282.40\n", - "4 45 2020-12-05 117 148 406.00\n", - "5 60 2020-12-06 102 127 300.00\n", - "6 60 2020-12-07 110 136 374.00\n", - "7 450 2020-12-08 104 134 253.30\n", - "8 30 2020-12-09 109 133 195.10\n", - "9 60 2020-12-10 98 124 269.00\n", - "10 60 2020-12-11 103 147 329.30\n", - "11 60 2020-12-12 100 120 250.70\n", - "12 60 2020-12-12 100 120 250.70\n", - "13 60 2020-12-13 106 128 345.30\n", - "14 60 2020-12-14 104 132 379.30\n", - "15 60 2020-12-15 98 123 275.00\n", - "16 60 2020-12-16 98 120 215.20\n", - "17 60 2020-12-17 100 120 300.00\n", - "18 45 2020-12-18 90 112 304.68\n", - "19 60 2020-12-19 103 123 323.00\n", - "20 45 2020-12-20 97 125 243.00\n", - "21 60 2020-12-21 108 131 364.20\n", - "22 45 NaT 100 119 282.00\n", - "23 60 2020-12-23 130 101 300.00\n", - "24 45 2020-12-24 105 132 246.00\n", - "25 60 2020-12-25 102 126 334.50\n", - "26 60 2020-12-26 100 120 250.00\n", - "27 60 2020-12-27 92 118 241.00\n", - "28 60 2020-12-28 103 132 304.68\n", - "29 60 2020-12-29 100 132 280.00\n", - "30 60 2020-12-30 102 129 380.30\n", - "31 60 2020-12-31 92 115 243.00" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# convert into proper data type\n", - "df['Date'] = pd.to_datetime(df['Date'])\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "6508edc2-f7f1-469b-a094-1b6c98a155e3", - "metadata": {}, - "outputs": [], - "source": [ - "# remove missing value according to a column\n", - "# df.dropna(subset=['Date'], inplace = True)" - ] - }, - { - "cell_type": "markdown", - "id": "725032e8-c03e-428e-a928-f5c2533a3446", - "metadata": {}, - "source": [ - "#### Fixing Wrong Data" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "3367d5c9-90f8-4fb1-9c2b-bae2bdaeb7bf", - "metadata": {}, - "outputs": [], - "source": [ - "# row 7: 450 duration!\n", - "df.loc[7, 'Duration'] = 45" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "1a9ce891-9275-4539-a23c-4826fb258c1d", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
0602020-12-01110130409.10
1602020-12-02117145479.00
2602020-12-03103135340.00
3452020-12-04109175282.40
4452020-12-05117148406.00
5602020-12-06102127300.00
6602020-12-07110136374.00
7452020-12-08104134253.30
8302020-12-09109133195.10
9602020-12-1098124269.00
10602020-12-11103147329.30
11602020-12-12100120250.70
12602020-12-12100120250.70
13602020-12-13106128345.30
14602020-12-14104132379.30
15602020-12-1598123275.00
16602020-12-1698120215.20
17602020-12-17100120300.00
18452020-12-1890112304.68
19602020-12-19103123323.00
20452020-12-2097125243.00
21602020-12-21108131364.20
2245NaT100119282.00
23602020-12-23130101300.00
24452020-12-24105132246.00
25602020-12-25102126334.50
26602020-12-26100120250.00
27602020-12-2792118241.00
28602020-12-28103132304.68
29602020-12-29100132280.00
30602020-12-30102129380.30
31602020-12-3192115243.00
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 2020-12-01 110 130 409.10\n", - "1 60 2020-12-02 117 145 479.00\n", - "2 60 2020-12-03 103 135 340.00\n", - "3 45 2020-12-04 109 175 282.40\n", - "4 45 2020-12-05 117 148 406.00\n", - "5 60 2020-12-06 102 127 300.00\n", - "6 60 2020-12-07 110 136 374.00\n", - "7 45 2020-12-08 104 134 253.30\n", - "8 30 2020-12-09 109 133 195.10\n", - "9 60 2020-12-10 98 124 269.00\n", - "10 60 2020-12-11 103 147 329.30\n", - "11 60 2020-12-12 100 120 250.70\n", - "12 60 2020-12-12 100 120 250.70\n", - "13 60 2020-12-13 106 128 345.30\n", - "14 60 2020-12-14 104 132 379.30\n", - "15 60 2020-12-15 98 123 275.00\n", - "16 60 2020-12-16 98 120 215.20\n", - "17 60 2020-12-17 100 120 300.00\n", - "18 45 2020-12-18 90 112 304.68\n", - "19 60 2020-12-19 103 123 323.00\n", - "20 45 2020-12-20 97 125 243.00\n", - "21 60 2020-12-21 108 131 364.20\n", - "22 45 NaT 100 119 282.00\n", - "23 60 2020-12-23 130 101 300.00\n", - "24 45 2020-12-24 105 132 246.00\n", - "25 60 2020-12-25 102 126 334.50\n", - "26 60 2020-12-26 100 120 250.00\n", - "27 60 2020-12-27 92 118 241.00\n", - "28 60 2020-12-28 103 132 304.68\n", - "29 60 2020-12-29 100 132 280.00\n", - "30 60 2020-12-30 102 129 380.30\n", - "31 60 2020-12-31 92 115 243.00" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "7888f644-60a5-41e2-bd9f-acf1f5e08f5d", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 False\n", - "1 False\n", - "2 False\n", - "3 False\n", - "4 False\n", - "5 False\n", - "6 False\n", - "7 False\n", - "8 False\n", - "9 False\n", - "10 False\n", - "11 False\n", - "12 True\n", - "13 False\n", - "14 False\n", - "15 False\n", - "16 False\n", - "17 False\n", - "18 False\n", - "19 False\n", - "20 False\n", - "21 False\n", - "22 False\n", - "23 False\n", - "24 False\n", - "25 False\n", - "26 False\n", - "27 False\n", - "28 False\n", - "29 False\n", - "30 False\n", - "31 False\n", - "dtype: bool\n" - ] - } - ], - "source": [ - "# remove duplicates row 11 & 12\n", - "print(df.duplicated())" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "ff4ee9a2-dabb-4015-8b0c-5527f688bb21", - "metadata": {}, - "outputs": [], - "source": [ - "df.drop_duplicates(inplace = True)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "44165eb4-ab0c-4be0-92d6-4c8ccf2ff389", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationDatePulseMaxpulseCalories
0602020-12-01110130409.10
1602020-12-02117145479.00
2602020-12-03103135340.00
3452020-12-04109175282.40
4452020-12-05117148406.00
5602020-12-06102127300.00
6602020-12-07110136374.00
7452020-12-08104134253.30
8302020-12-09109133195.10
9602020-12-1098124269.00
10602020-12-11103147329.30
11602020-12-12100120250.70
13602020-12-13106128345.30
14602020-12-14104132379.30
15602020-12-1598123275.00
16602020-12-1698120215.20
17602020-12-17100120300.00
18452020-12-1890112304.68
19602020-12-19103123323.00
20452020-12-2097125243.00
21602020-12-21108131364.20
2245NaT100119282.00
23602020-12-23130101300.00
24452020-12-24105132246.00
25602020-12-25102126334.50
26602020-12-26100120250.00
27602020-12-2792118241.00
28602020-12-28103132304.68
29602020-12-29100132280.00
30602020-12-30102129380.30
31602020-12-3192115243.00
\n", - "
" - ], - "text/plain": [ - " Duration Date Pulse Maxpulse Calories\n", - "0 60 2020-12-01 110 130 409.10\n", - "1 60 2020-12-02 117 145 479.00\n", - "2 60 2020-12-03 103 135 340.00\n", - "3 45 2020-12-04 109 175 282.40\n", - "4 45 2020-12-05 117 148 406.00\n", - "5 60 2020-12-06 102 127 300.00\n", - "6 60 2020-12-07 110 136 374.00\n", - "7 45 2020-12-08 104 134 253.30\n", - "8 30 2020-12-09 109 133 195.10\n", - "9 60 2020-12-10 98 124 269.00\n", - "10 60 2020-12-11 103 147 329.30\n", - "11 60 2020-12-12 100 120 250.70\n", - "13 60 2020-12-13 106 128 345.30\n", - "14 60 2020-12-14 104 132 379.30\n", - "15 60 2020-12-15 98 123 275.00\n", - "16 60 2020-12-16 98 120 215.20\n", - "17 60 2020-12-17 100 120 300.00\n", - "18 45 2020-12-18 90 112 304.68\n", - "19 60 2020-12-19 103 123 323.00\n", - "20 45 2020-12-20 97 125 243.00\n", - "21 60 2020-12-21 108 131 364.20\n", - "22 45 NaT 100 119 282.00\n", - "23 60 2020-12-23 130 101 300.00\n", - "24 45 2020-12-24 105 132 246.00\n", - "25 60 2020-12-25 102 126 334.50\n", - "26 60 2020-12-26 100 120 250.00\n", - "27 60 2020-12-27 92 118 241.00\n", - "28 60 2020-12-28 103 132 304.68\n", - "29 60 2020-12-29 100 132 280.00\n", - "30 60 2020-12-30 102 129 380.30\n", - "31 60 2020-12-31 92 115 243.00" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "3033c2a4-18f1-4fcd-be75-f71f95c9097f", - "metadata": {}, - "outputs": [], - "source": [ - "df.to_csv('cleaned.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "549ea6b3-3903-4b74-88ad-74c60e7d862e", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/pandas/.ipynb_checkpoints/03_advanced-checkpoint.ipynb b/course/pandas/.ipynb_checkpoints/03_advanced-checkpoint.ipynb deleted file mode 100644 index f26a342..0000000 --- a/course/pandas/.ipynb_checkpoints/03_advanced-checkpoint.ipynb +++ /dev/null @@ -1,391 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "ddb0915a-4364-499f-8224-8af96e00cdf2", - "metadata": {}, - "source": [ - "#### Advanced" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4f677ea5-7e64-4db2-8d25-c39eec1b1989", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "38eeb7f7-ba40-41da-a029-35a4b5350878", - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv('https://www.w3schools.com/python/pandas/data.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ff6a7d3f-d18f-43e8-a03e-257489439289", - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DurationPulseMaxpulseCalories
060110130409.1
160117145479.0
260103135340.0
345109175282.4
445117148406.0
...............
16460105140290.8
16560110145300.0
16660115145310.2
16775120150320.4
16875125150330.4
\n", - "

169 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Duration Pulse Maxpulse Calories\n", - "0 60 110 130 409.1\n", - "1 60 117 145 479.0\n", - "2 60 103 135 340.0\n", - "3 45 109 175 282.4\n", - "4 45 117 148 406.0\n", - ".. ... ... ... ...\n", - "164 60 105 140 290.8\n", - "165 60 110 145 300.0\n", - "166 60 115 145 310.2\n", - "167 75 120 150 320.4\n", - "168 75 125 150 330.4\n", - "\n", - "[169 rows x 4 columns]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "59980378-83d8-4ec4-99e4-d29557d367bb", - "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", - "
DurationPulseMaxpulseCalories
Duration1.000000-0.1554080.0094030.922717
Pulse-0.1554081.0000000.7865350.025121
Maxpulse0.0094030.7865351.0000000.203813
Calories0.9227170.0251210.2038131.000000
\n", - "
" - ], - "text/plain": [ - " Duration Pulse Maxpulse Calories\n", - "Duration 1.000000 -0.155408 0.009403 0.922717\n", - "Pulse -0.155408 1.000000 0.786535 0.025121\n", - "Maxpulse 0.009403 0.786535 1.000000 0.203813\n", - "Calories 0.922717 0.025121 0.203813 1.000000" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# correlation (1 / -1 --> good, ~0, bad)\n", - "df.corr()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "7c279538-3d8d-4add-a30c-5c426c5c714f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plotting\n", - "import matplotlib.pyplot as plt\n", - "df.plot()\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "e3cff924-55c9-48cc-9c8c-6d98b01bcd8d", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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9enTR2+99ZaGDRsmSbI02CLBMIxGZQ215JigoCAFBQW1seVwR05RhfY3MwB5/9clyi2u9Nn1feaPS9EL275qtt6XZ5vd3jdaYcGBTT42CwsO9OkwBwDu8ukeooZCQkLUv39/ZWdn22ebNezpKSwstPcaxcbGqra2VqWlpc0eA9/zSa7z2Vif5Pj2bK135g1rVbkvee/JWxUWHOhQFhYcqPeevNVLLQKAjuFXgaimpkYnT55UXFyckpKSFBsbq23bttnra2trtXv3bo0YMUKSNGjQIAUGBjock5+frxMnTtiPgS9y0cPXQa1oq75xoRrVoDdlVEqU/imum5da1HIJEcE69ut0vT13iH56R4renjtEx36droSIYG83DQDalU8/Mlu6dKmmTJminj17qrCwUM8++6zKy8s1e/ZsWSwWLVq0SM8995xSUlKUkpKi5557TsHBwXrggQckSVarVXPnztWSJUsUERGh8PBwLV26VP3799f48eO9fHVoTrz1eqf1PcK6dFBL2mbhpiztO+04uHrf6WIt2HRM6+cO8VKrWue2lCgekQEwFZ8OROfPn9fMmTNVXFysqKgoDRs2TAcPHlRiYqIk6amnnlJ1dbWeeOIJlZaWaujQofroo48UGhpqP8dLL72kTp06afr06aqurta4ceO0bt06BQQEeOuy4MIVF/WXr/huH1FOUUWjweCSVG8Yyswu8unxTwBgZhbDMHz3r4sPKS8vl9Vqlc1mU7duvv/ow5/lFFVo7MrdzdbvXDraZ0PFzlOFenjt4Wbr1z58i8b0je7AFgGAubX077dfjSGCOfSO6iprl8Am66xdAn02DElSYrjzsTa9Iny37QBgZgQi+JycogrZqptegNFWXefTq1b3juqqUSlRCmiwrEOAxaJRKVE+HeYAwMwIRPA5n+RedFp/0Men3a+amaaRyY4LNI5MjtSqmWleahEAwBWfHlQNs3I+rM35pHzvswYHav3cIcotrlReSaV6RYTQMwQAPo5ABJ8zNCnCeX1v5/W+IimSIAQA/oJHZvA5vaO6akivpvfNGtIrnJABAPA4eojglpyiCp25WOXxx0LVtZebLP+2rulyAADcQSBCm5RV1WrhpiyHRQhHpURp1cw0WYObnjLfUjlFFTr+zaUm6z7/v3IWNwQAeByPzNAmzrancNfbB/Kc1m9wUQ8AQGsRiNBq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zCwNFjo0DKNR2VVBQUEKCgrqiGYBAAAvM0UPUWRkpAICAhr1BhUWFjbqNQIAAOZjikDUuXNnDRo0SNu2bXMo37Ztm0aMGOGlVgEAAF9hmkdmixcv1qxZszR48GANHz5c//Vf/6WzZ8/qxz/+sbebBgAAvMw0gWjGjBkqKSnRM888o/z8fKWmpuqDDz5QYmKit5sGAAC8zDTrELnLZrOpe/fuOnfuHOsQAQDgJ66uI1hWViar1drscabpIXLXpUuXJIn1iAAA8EOXLl1yGojoIWqhK1eu6JtvvlFoaGizU/XR2NVkTs9a63Hv2o5713bcu7bj3rVde947wzB06dIlxcfH67rrmp9LRg9RC1133XXq0aOHt5vht7p168b/INqIe9d23Lu24961Hfeu7drr3jnrGbrKFNPuAQAAnCEQAQAA0yMQoV0FBQXp6aefZhuUNuDetR33ru24d23HvWs7X7h3DKoGAACmRw8RAAAwPQIRAAAwPQIRAAAwPQIRAAAwPQIR3LZ8+XJZLBaHV2xsrL3eMAwtX75c8fHx6tKli0aPHq0vvvjCiy32nszMTE2ZMkXx8fGyWCx69913Hepbcq9qamq0YMECRUZGKiQkRFOnTtX58+c78Cq8w9W9mzNnTqPv4bBhwxyOMeu9W7FihW655RaFhoYqOjpa99xzj06dOuVwDN+9prXk3vHda9prr72mm2++2b7Y4vDhw/W3v/3NXu9r3zkCETzipptuUn5+vv11/Phxe91vf/tbvfjii1q9erUOHz6s2NhY3XHHHfb94cyksrJSAwYM0OrVq5usb8m9WrRokbZu3arNmzdr7969qqio0OTJk1VfX99Rl+EVru6dJE2cONHhe/jBBx841Jv13u3evVtPPvmkDh48qG3btuny5ctKT09XZWWl/Ri+e01ryb2T+O41pUePHnr++ef16aef6tNPP9XYsWN1991320OPz33nDMBNTz/9tDFgwIAm665cuWLExsYazz//vL3s22+/NaxWq/Gf//mfHdRC3yTJ2Lp1q/19S+5VWVmZERgYaGzevNl+zP/93/8Z1113nZGRkdFhbfe2hvfOMAxj9uzZxt13393sZ7h3/1BYWGhIMnbv3m0YBt+91mh47wyD715rhIWFGX/84x998jtHDxE8Ijs7W/Hx8UpKStL999+vnJwcSVJubq4KCgqUnp5u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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df.plot(kind = 'scatter', x = 'Duration', y = 'Calories')\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "75fcadc3-7c9c-4e92-8dcc-6a0551b55bb3", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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5wOwFsEOAMtNmTJFpaWlOnjwoN58802NHz9e9913n6ZOnaqvvvoqoD4Nwwj4vZJ03nnnqWfPngG/H0D4ItgBYLm4uDilp6frggsu0IgRI/TQQw/p9ddf15tvvqkVK1bo4MGDcrlcKiws9Lzn5MmTcrlc2rZtmyRp27Ztcrlc2rJli0aOHKm4uDi9++67+vzzz3XjjTcqLS1N3bp10+WXX663337b08+4ceN06NAhLViwwDPDJLW9jPXiiy9qwIAB6tKliwYNGqRVq1Z5tbtcLv3hD3/QTTfdpPj4eGVlZWnDhg2mnDMAgSPYARAWrrnmGg0bNkxr167t0PseeOABLVmyRPv27dMll1yi2tpaXX/99Xr77bdVUFCgyZMna9q0aTp8+LAkae3aterVq5cef/xxlZaWqrS0tM1+161bp/vuu085OTnau3ev7rrrLt15553Kzc31et1jjz2mW2+9VR9//LGuv/56/du//ZtOnDgR2EkAYAqCHQBh49vf/rYOHjzYofc8/vjjmjhxogYMGKDk5GQNGzZMd911l4YOHaqsrCw98cQT6t+/v2fGJSkpSdHR0erevbvS09OVnp7eZr9PP/207rjjDt1999268MILtXDhQt188816+umnvV53xx13aNasWRo4cKCeeuop1dXV6cMPPwzo8wMwB8EOgLBhGIZnWclfI0eO9HpeV1enBx54QIMHD1aPHj3UrVs3/eMf//DM7Phr3759ys7O9jqWnZ2tffv2eR275JJLPH/u2rWrunfvrvLy8g79LADmirF7AADQbN++ferXr5+ior7+f5hhGJ62xsbGNt/TtWtXr+eLFi3Sli1b9PTTT2vgwIE677zz9N3vflenT5/u8HhaBl5tBWOxsbGt3mPVXWUA/MPMDoCw8M4772jPnj265ZZblJqaKkle+TRnJyv78u677+qOO+7QTTfdpKFDhyo9Pb3V0liXLl105swZn/1cdNFFeu+997yO7dixQxdddJFf4wAQPpjZAWC5hoYGlZWV6cyZM/rXv/6lzZs3a8mSJZo6dapuv/12RUdH68orr9TSpUvVt29fVVZW6mc/+5lffQ8cOFBr167VtGnT5HK59PDDD7eaaenbt6/y8vJ02223KS4uTikpKa36WbRokW699VaNGDFCEyZM0MaNG7V27VqvO7sAOAMzOwAst3nzZp1//vnq27evpkyZotzcXP3ud7/T66+/rujoaEnSK6+8osbGRo0cOVL33XefnnjiCb/6fvbZZ5WYmKjRo0dr2rRpmjx5skaMGOH1mscff1wHDx7UgAEDPLNILc2YMUPPPfecfv3rX+viiy/Wf/7nf+rVV1/VuHHjgvrsAKznMs5eFAcAAIgwzOwAAICIRrADAAAiGsEOAACIaAQ7AAAgohHsAACAiEawAwAAIhrBDgAAiGgEOwAAIKIR7AAAgIhGsAMAACIawQ4AAIho/w8wBxgIUwXHSwAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df.plot(kind = 'scatter', x = 'Duration', y = 'Maxpulse')\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "f32fb4d5-9d8a-4ef7-9acf-9322ee98839d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df[\"Duration\"].plot(kind = 'hist')\n", - "# A histogram shows us the frequency of each interval, \n", - "# e.g. how many workouts lasted between 50 and 60 minutes" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e1af5196-ce21-4120-8483-ccb2cc48adbc", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/pandas/.ipynb_checkpoints/cleaned-checkpoint.csv b/course/pandas/.ipynb_checkpoints/cleaned-checkpoint.csv deleted file mode 100644 index bcbb3e5..0000000 --- a/course/pandas/.ipynb_checkpoints/cleaned-checkpoint.csv +++ /dev/null @@ -1,32 +0,0 @@ -,Duration,Date,Pulse,Maxpulse,Calories -0,60,2020-12-01,110,130,409.1 -1,60,2020-12-02,117,145,479.0 -2,60,2020-12-03,103,135,340.0 -3,45,2020-12-04,109,175,282.4 -4,45,2020-12-05,117,148,406.0 -5,60,2020-12-06,102,127,300.0 -6,60,2020-12-07,110,136,374.0 -7,45,2020-12-08,104,134,253.3 -8,30,2020-12-09,109,133,195.1 -9,60,2020-12-10,98,124,269.0 -10,60,2020-12-11,103,147,329.3 -11,60,2020-12-12,100,120,250.7 -13,60,2020-12-13,106,128,345.3 -14,60,2020-12-14,104,132,379.3 -15,60,2020-12-15,98,123,275.0 -16,60,2020-12-16,98,120,215.2 -17,60,2020-12-17,100,120,300.0 -18,45,2020-12-18,90,112,304.68 -19,60,2020-12-19,103,123,323.0 -20,45,2020-12-20,97,125,243.0 -21,60,2020-12-21,108,131,364.2 -22,45,,100,119,282.0 -23,60,2020-12-23,130,101,300.0 -24,45,2020-12-24,105,132,246.0 -25,60,2020-12-25,102,126,334.5 -26,60,2020-12-26,100,120,250.0 -27,60,2020-12-27,92,118,241.0 -28,60,2020-12-28,103,132,304.68 -29,60,2020-12-29,100,132,280.0 -30,60,2020-12-30,102,129,380.3 -31,60,2020-12-31,92,115,243.0 diff --git a/course/python/.ipynb_checkpoints/01-data-types-checkpoint.ipynb b/course/python/.ipynb_checkpoints/01-data-types-checkpoint.ipynb deleted file mode 100644 index 47eeaf0..0000000 --- a/course/python/.ipynb_checkpoints/01-data-types-checkpoint.ipynb +++ /dev/null @@ -1,202 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "2e29ba0a-8c8d-43a7-8c69-91a45dd510f4", - "metadata": { - "tags": [] - }, - "source": [ - "### Python Data-Types " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "985a7730-4e2f-4dd8-8963-0c05929d6537", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10\n" - ] - } - ], - "source": [ - "#### Numbers\n", - "some_number = 9\n", - "some_decimal_number = 9.123\n", - "# some math\n", - "result = some_number + 1 \n", - "print(result)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "bc668dd1-2c00-4428-9792-87fc82268066", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "anna schmidt\n" - ] - } - ], - "source": [ - "#### Text (string)\n", - "some_name = \"anna\"\n", - "some_last_name= \"schmidt\"\n", - "# concat\n", - "result = some_name + \" \" + some_last_name\n", - "print(result)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "15f12de7-b59e-47a5-8493-9ce6dc993b1a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ANNA SCHMIDT\n" - ] - } - ], - "source": [ - "#### Text transformation\n", - "print(result.upper()) # or .lower()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "ef60122f-ff4e-41ba-81c6-03bd425f4182", - "metadata": {}, - "outputs": [], - "source": [ - "#### Boolean\n", - "wahr = True # 1\n", - "falsch = False # 0\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "5286e63f-d505-4d7f-988d-a4272530edd7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[10, 20, 30]\n", - "3\n", - "10\n" - ] - } - ], - "source": [ - "#### List\n", - "some_list = [10,20,30]\n", - "print(some_list)\n", - "print(len(some_list)) # length\n", - "print(some_list[0]) # first position starts at 0 !" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "de268e19-56cb-4b15-9eb4-d2d1c206e816", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['some', 'text', 'going', 'here']\n", - "4\n", - "['some', 'text', 'going', 'here', 'abit more']\n", - "5\n" - ] - } - ], - "source": [ - "#### More lists\n", - "some_text_list = [\"some\",\"text\",\"going\",\"here\"]\n", - "print(some_text_list)\n", - "print(len(some_text_list))\n", - "# add something to the list\n", - "some_text_list.append(\"abit more\")\n", - "print(some_text_list)\n", - "print(len(some_text_list))\n" - ] - }, - { - "cell_type": "markdown", - "id": "f0fe7482-edc7-42b8-9f8d-dd54e8fe67f0", - "metadata": {}, - "source": [ - "#### check type" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "ec30a547-3e4f-436d-965e-28434dcbb7bb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "print(type(1.0))\n", - "print(type(\"bla\"))\n", - "print(type(wahr))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ee9a0aca-344c-4f1e-adc0-8feaf5fe59ea", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/python/.ipynb_checkpoints/02-logic-operator-checkpoint.ipynb b/course/python/.ipynb_checkpoints/02-logic-operator-checkpoint.ipynb deleted file mode 100644 index 86f0524..0000000 --- a/course/python/.ipynb_checkpoints/02-logic-operator-checkpoint.ipynb +++ /dev/null @@ -1,177 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "fd3ba99f-b630-408c-b8f4-e62e189c6057", - "metadata": {}, - "source": [ - "### Python Logic Operators" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "58b1616e-9df5-426c-857b-d3017f052b07", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "False\n" - ] - } - ], - "source": [ - "print(1 == 2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "c87c73b4-414c-49b2-9e8f-fb3ea64f734a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "print(1 != 2)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c0785e94-8795-4200-8148-50eea688e381", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "False\n" - ] - } - ], - "source": [ - "print(1>2)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "51a3869d-14f4-4f36-89a5-8b274e6867bb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "False\n" - ] - } - ], - "source": [ - "print(\"1\" == 1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d77b7f00-7eaf-4812-a2b9-57dc00dfc701", - "metadata": {}, - "outputs": [], - "source": [ - "### Add multiple condition" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0c4650aa-71f5-43e1-a027-fd68db0c585e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "print(1 < 10 and 1 > 0)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "97b73046-93fc-4496-bbcc-e4cd83b9e971", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "print(1 < 10 or 1 > 10)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "69781d14-9295-42cd-935a-eef3e4e6c1e6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - } - ], - "source": [ - "print(not \"bla\" == \"blup\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e2e24ad8-fec6-4399-aada-f09f6f35b992", - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/python/.ipynb_checkpoints/03-loops-checkpoint.ipynb b/course/python/.ipynb_checkpoints/03-loops-checkpoint.ipynb deleted file mode 100644 index c336ec4..0000000 --- a/course/python/.ipynb_checkpoints/03-loops-checkpoint.ipynb +++ /dev/null @@ -1,97 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "3eea86ad-74b7-4d9c-8cac-814d6e9858e9", - "metadata": {}, - "source": [ - "### Loops" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "8ba4b151-0dcc-4f65-9b0c-1d242fe63d9a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Axel\n", - "Elke\n", - "Martin\n", - "nach der for-Schleife\n" - ] - } - ], - "source": [ - "vornamen = ['Axel', 'Elke', 'Martin']\n", - "for einzelwert in vornamen:\n", - " print(einzelwert)\n", - "print(\"nach der for-Schleife\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "d5d85399-b41a-433f-b6c2-279197a40157", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "2\n", - "3\n", - "4\n", - "5\n", - "6\n", - "7\n", - "8\n", - "9\n", - "10\n", - "nach der Schleife\n" - ] - } - ], - "source": [ - "durchgang = 1\n", - "while durchgang < 11:\n", - " print(durchgang)\n", - " durchgang = durchgang + 1\n", - "print(\"nach der Schleife\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32f0f630-7392-449b-a33b-ee5250752bb6", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/python/.ipynb_checkpoints/04-functions-checkpoint.ipynb b/course/python/.ipynb_checkpoints/04-functions-checkpoint.ipynb deleted file mode 100644 index 000767a..0000000 --- a/course/python/.ipynb_checkpoints/04-functions-checkpoint.ipynb +++ /dev/null @@ -1,124 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "2aa66773-49ef-43bd-8f86-84a9ea68c4d4", - "metadata": {}, - "source": [ - "### Functions" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "53eaee4f-539c-4a5e-baf2-1f45077eebb0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "2\n", - "3\n", - "4\n", - "5\n", - "6\n", - "7\n", - "8\n", - "Funktion ausgabe durchlaufen\n" - ] - }, - { - "data": { - "text/plain": [ - "36" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def ausgabe(endwert, anfangswert=1, schrittweite=1):\n", - " summe = 0\n", - " for x in range(anfangswert, endwert, schrittweite):\n", - " print(x)\n", - " summe = summe + x\n", - " print(\"Funktion ausgabe durchlaufen\")\n", - " return summe\n", - "\n", - "ausgabe(9)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "e9bc89ad-6b67-4109-b6d6-f74218cfe304", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "2\n", - "3\n", - "4\n", - "5\n", - "6\n", - "7\n", - "8\n", - "9\n", - "10\n", - "11\n", - "Funktion ausgabe durchlaufen\n" - ] - }, - { - "data": { - "text/plain": [ - "66" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ausgabe(12)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7e207043-c521-48ef-9ee4-b0e6f8ce2164", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/python/.ipynb_checkpoints/05-classes-checkpoint.ipynb b/course/python/.ipynb_checkpoints/05-classes-checkpoint.ipynb deleted file mode 100644 index 29a6b41..0000000 --- a/course/python/.ipynb_checkpoints/05-classes-checkpoint.ipynb +++ /dev/null @@ -1,111 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "bcdc32a0-9b80-472b-a7a6-eda570fb8b86", - "metadata": {}, - "source": [ - "### classes" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "03fc3fad-4c9a-4864-8596-c8e9a383fe4e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "orange\n" - ] - } - ], - "source": [ - "class BauplanKatzenKlasse():\n", - " \"\"\" Klasse für das Erstellen von Katzen \"\"\"\n", - "\n", - " def __init__(self, rufname, farbe, alter):\n", - " self.rufname = rufname\n", - " self.farbe = farbe\n", - " self.alter = alter\n", - " self.schlafdauer = 0\n", - " \n", - " def miauzen(self,amount=1):\n", - " out = \"mia\"\n", - " for i in range(amount):\n", - " out = out + \"u\"\n", - " print(out)\n", - "\n", - "katze_sammy = BauplanKatzenKlasse(\"Sammy\", \"orange\", 3)\n", - "print(katze_sammy.farbe)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "d259947e-1b01-4826-be6b-11909c32bd80", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "miau\n" - ] - } - ], - "source": [ - "katze_sammy.miauzen()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e8a7cff4-b60f-48c8-9c1e-8f209516f992", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "miauuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\n" - ] - } - ], - "source": [ - "katze_sammy.miauzen(amount=100)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "caef4f55-b746-457f-9a88-a6e4c47a56f6", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/course/python/.ipynb_checkpoints/06-libs-checkpoint.ipynb b/course/python/.ipynb_checkpoints/06-libs-checkpoint.ipynb deleted file mode 100644 index 30c65d0..0000000 --- a/course/python/.ipynb_checkpoints/06-libs-checkpoint.ipynb +++ /dev/null @@ -1,60 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a3795d4d-7bed-4d3b-995c-0a6c05ad8a7c", - "metadata": {}, - "source": [ - "### libs" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "4a85fd9b-1e27-4d0b-a323-33a965e37968", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.0\n" - ] - } - ], - "source": [ - "import math\n", - "print(math.sqrt(25))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "621adbab-7608-48fc-9bc8-a8203ee5484a", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -}