├── README.md ├── DATA.csv ├── DATA.xlsx ├── home.xlsx ├── supershop.csv ├── For Loop - List & Array.ipynb ├── SAVE Data Frame to CSV.ipynb ├── Class 02.ipynb ├── Class - 04 - Linear Regression.ipynb ├── LSTM_.ipynb └── Class 03.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Data-Science-Private -------------------------------------------------------------------------------- /DATA.csv: -------------------------------------------------------------------------------- 1 | NAME,AGE 2 | ABC,20 3 | CDF,35 4 | -------------------------------------------------------------------------------- /DATA.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rashakil-ds/Data-Science-P/main/DATA.xlsx -------------------------------------------------------------------------------- /home.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rashakil-ds/Data-Science-P/main/home.xlsx -------------------------------------------------------------------------------- /supershop.csv: -------------------------------------------------------------------------------- 1 | Marketing Spend,Administration,Transport,Area,Profit 2 | 114523.61,136897.8,471784.1,Dhaka,192261.83 3 | 162597.7,151377.59,443898.53,Ctg,191792.06 4 | 153441.51,101145.55,407934.54,Rangpur,191050.39 5 | 144372.41,118671.85,383199.62,Dhaka,182901.99 6 | 142107.34,91391.77,366168.42,Rangpur,166187.94 7 | 131876.9,99814.71,362861.36,Dhaka,156991.12 8 | 134615.46,147198.87,127716.82,Ctg,156122.51 9 | 130298.13,145530.06,323876.68,Rangpur,155752.6 10 | 120542.52,148718.95,311613.29,Dhaka,152211.77 11 | 123334.88,108679.17,304981.62,Ctg,149759.96 12 | 101913.08,110594.11,229160.95,Rangpur,146121.95 13 | 100671.96,91790.61,249744.55,Ctg,144259.4 14 | 93863.75,127320.38,249839.44,Rangpur,141585.52 15 | 91992.39,135495.07,252664.93,Ctg,134307.35 16 | 119943.24,156547.42,256512.92,Rangpur,132602.65 17 | 165349.2,122616.84,261776.23,Dhaka,129917.04 18 | 78013.11,121597.55,264346.06,Ctg,126992.93 19 | 94657.16,145077.58,282574.31,Dhaka,125370.37 20 | 91749.16,114175.79,294919.57,Rangpur,124266.9 21 | 86419.7,153514.11,,Dhaka,122776.86 22 | 76253.86,113867.3,298664.47,Ctg,118474.03 23 | 78389.47,153773.43,299737.29,Dhaka,111313.02 24 | 73994.56,122782.75,303319.26,Rangpur,110352.25 25 | 67532.53,105751.03,304768.73,Rangpur,108733.99 26 | 77044.01,99281.34,140574.81,Dhaka,108552.04 27 | 64664.71,139553.16,137962.62,Ctg,107404.34 28 | 75328.87,144135.98,134050.07,Rangpur,105733.54 29 | 72107.6,127864.55,353183.81,Dhaka,105008.31 30 | 66051.52,182645.56,118148.2,Rangpur,103282.38 31 | 65605.48,153032.06,107138.38,Dhaka,101004.64 32 | 61994.48,115641.28,91131.24,Rangpur,99937.59 33 | 61136.38,152701.92,88218.23,Dhaka,97483.56 34 | 63408.86,129219.61,46085.25,Ctg,97427.84 35 | 55493.95,103057.49,214634.81,Rangpur,96778.92 36 | 46426.07,157693.92,210797.67,Ctg,96712.8 37 | 46014.02,85047.44,205517.64,Dhaka,96479.51 38 | 28663.76,127056.21,201126.82,Rangpur,90708.19 39 | 44069.95,51283.14,197029.42,Ctg,89949.14 40 | 20229.59,65947.93,185265.1,Dhaka,81229.06 41 | 38558.51,82982.09,174999.3,Ctg,81005.76 42 | 28754.33,118546.05,172795.67,Ctg,78239.91 43 | 27892.92,84710.77,164470.71,Rangpur,77798.83 44 | 23640.93,96189.63,148001.11,Ctg,71498.49 45 | 15505.73,127382.3,35534.17,Dhaka,69758.98 46 | 22177.74,154806.14,28334.72,Ctg,65200.33 47 | 1000.23,124153.04,1903.93,Dhaka,64926.08 48 | 1315.46,115816.21,297114.46,Rangpur,49490.75 49 | 0,135426.92,0,Ctg,42559.73 50 | 542.05,51743.15,0,Dhaka,35673.41 51 | 0,116983.8,45173.06,Ctg,14681.4 52 | -------------------------------------------------------------------------------- /For Loop - List & Array.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "191b0a05", 7 | "metadata": {}, 8 | "outputs": [ 9 | { 10 | "name": "stdout", 11 | "output_type": "stream", 12 | "text": [ 13 | "1\n" 14 | ] 15 | } 16 | ], 17 | "source": [ 18 | "list1 = [1,3,7,'data'] #List\n", 19 | "for i in range(len(list1)):\n", 20 | " if(list1[i]) == 1:\n", 21 | " print(list1[i])" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 2, 27 | "id": "5f1bcc82", 28 | "metadata": {}, 29 | "outputs": [ 30 | { 31 | "name": "stdout", 32 | "output_type": "stream", 33 | "text": [ 34 | "Enter Number of Element: 2\n", 35 | "1\n", 36 | "6\n", 37 | "[1, 6]\n" 38 | ] 39 | } 40 | ], 41 | "source": [ 42 | "l1 = [] # Input List\n", 43 | "n = int(input('Enter Number of Element: '))\n", 44 | "for i in range(n):\n", 45 | " new_val = int(input())\n", 46 | " l1.append(new_val)\n", 47 | "print(l1)" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "id": "e48e7660", 54 | "metadata": {}, 55 | "outputs": [ 56 | { 57 | "name": "stdout", 58 | "output_type": "stream", 59 | "text": [ 60 | "Enter Number of Element: 6\n", 61 | "1\n", 62 | "2\n", 63 | "5\n", 64 | "7\n", 65 | "8\n", 66 | "9\n", 67 | "array('i', [1, 2, 5, 7, 8, 9])\n" 68 | ] 69 | } 70 | ], 71 | "source": [ 72 | "import array as ar\n", 73 | "n2 = ar.array('i',[]) # Input Array\n", 74 | "items = int(input('Enter Number of Element: '))\n", 75 | "for x in range(items):\n", 76 | " new2 = int(input())\n", 77 | " n2.append(new2)\n", 78 | "print(n2)" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": 1, 84 | "id": "16fbc1d2", 85 | "metadata": {}, 86 | "outputs": [ 87 | { 88 | "name": "stdout", 89 | "output_type": "stream", 90 | "text": [ 91 | "enter a n value:3\n", 92 | "1\n", 93 | "2\n", 94 | "3\n", 95 | "3\n", 96 | "4\n", 97 | "5\n", 98 | "{'1': 2, '3': 3, '4': 5}\n" 99 | ] 100 | } 101 | ], 102 | "source": [ 103 | "n = int(input(\"enter a n value:\"))\n", 104 | "d = {}\n", 105 | "for i in range(n):\n", 106 | " keys = input() # here i have taken keys as strings\n", 107 | " values = int(input()) # here i have taken values as integers\n", 108 | " d[keys] = values\n", 109 | "print(d)" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": 2, 115 | "id": "28103c05", 116 | "metadata": {}, 117 | "outputs": [ 118 | { 119 | "data": { 120 | "text/plain": [ 121 | "dict" 122 | ] 123 | }, 124 | "execution_count": 2, 125 | "metadata": {}, 126 | "output_type": "execute_result" 127 | } 128 | ], 129 | "source": [ 130 | "type(d)" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": null, 136 | "id": "2107dbd6", 137 | "metadata": {}, 138 | "outputs": [], 139 | "source": [] 140 | } 141 | ], 142 | "metadata": { 143 | "kernelspec": { 144 | "display_name": "Python 3", 145 | "language": "python", 146 | "name": "python3" 147 | }, 148 | "language_info": { 149 | "codemirror_mode": { 150 | "name": "ipython", 151 | "version": 3 152 | }, 153 | "file_extension": ".py", 154 | "mimetype": "text/x-python", 155 | "name": "python", 156 | "nbconvert_exporter": "python", 157 | "pygments_lexer": "ipython3", 158 | "version": "3.8.8" 159 | } 160 | }, 161 | "nbformat": 4, 162 | "nbformat_minor": 5 163 | } 164 | -------------------------------------------------------------------------------- /SAVE Data Frame to CSV.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "ed51a552", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import pandas as pd\n", 11 | "import numpy as np" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 2, 17 | "id": "c9202953", 18 | "metadata": {}, 19 | "outputs": [ 20 | { 21 | "data": { 22 | "text/html": [ 23 | "
\n", 24 | "\n", 37 | "\n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | "
textspam
0Subject: naturally irresistible your corporate...1
1Subject: the stock trading gunslinger fanny i...1
2Subject: unbelievable new homes made easy im ...1
3Subject: 4 color printing special request add...1
4Subject: do not have money , get software cds ...1
\n", 73 | "
" 74 | ], 75 | "text/plain": [ 76 | " text spam\n", 77 | "0 Subject: naturally irresistible your corporate... 1\n", 78 | "1 Subject: the stock trading gunslinger fanny i... 1\n", 79 | "2 Subject: unbelievable new homes made easy im ... 1\n", 80 | "3 Subject: 4 color printing special request add... 1\n", 81 | "4 Subject: do not have money , get software cds ... 1" 82 | ] 83 | }, 84 | "execution_count": 2, 85 | "metadata": {}, 86 | "output_type": "execute_result" 87 | } 88 | ], 89 | "source": [ 90 | "df = pd.read_csv('emails.csv')\n", 91 | "df.head()" 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 3, 97 | "id": "09719de3", 98 | "metadata": {}, 99 | "outputs": [ 100 | { 101 | "data": { 102 | "text/plain": [ 103 | "(5728, 2)" 104 | ] 105 | }, 106 | "execution_count": 3, 107 | "metadata": {}, 108 | "output_type": "execute_result" 109 | } 110 | ], 111 | "source": [ 112 | "df.shape" 113 | ] 114 | }, 115 | { 116 | "cell_type": "code", 117 | "execution_count": 4, 118 | "id": "797803a3", 119 | "metadata": {}, 120 | "outputs": [], 121 | "source": [ 122 | "df.drop_duplicates(inplace=True) #droped simmilar rows" 123 | ] 124 | }, 125 | { 126 | "cell_type": "code", 127 | "execution_count": 5, 128 | "id": "934d333b", 129 | "metadata": {}, 130 | "outputs": [], 131 | "source": [ 132 | "df.to_csv('New Data.csv')" 133 | ] 134 | }, 135 | { 136 | "cell_type": "code", 137 | "execution_count": 6, 138 | "id": "988f033a", 139 | "metadata": {}, 140 | "outputs": [ 141 | { 142 | "data": { 143 | "text/plain": [ 144 | "(5695, 2)" 145 | ] 146 | }, 147 | "execution_count": 6, 148 | "metadata": {}, 149 | "output_type": "execute_result" 150 | } 151 | ], 152 | "source": [ 153 | "df.shape" 154 | ] 155 | }, 156 | { 157 | "cell_type": "code", 158 | "execution_count": null, 159 | "id": "c6d31d53", 160 | "metadata": {}, 161 | "outputs": [], 162 | "source": [] 163 | } 164 | ], 165 | "metadata": { 166 | "kernelspec": { 167 | "display_name": "Python 3", 168 | "language": "python", 169 | "name": "python3" 170 | }, 171 | "language_info": { 172 | "codemirror_mode": { 173 | "name": "ipython", 174 | "version": 3 175 | }, 176 | "file_extension": ".py", 177 | "mimetype": "text/x-python", 178 | "name": "python", 179 | "nbconvert_exporter": "python", 180 | "pygments_lexer": "ipython3", 181 | "version": "3.8.8" 182 | } 183 | }, 184 | "nbformat": 4, 185 | "nbformat_minor": 5 186 | } 187 | -------------------------------------------------------------------------------- /Class 02.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 26, 6 | "id": "07039f52", 7 | "metadata": {}, 8 | "outputs": [ 9 | { 10 | "name": "stdout", 11 | "output_type": "stream", 12 | "text": [ 13 | "datascience abc1" 14 | ] 15 | } 16 | ], 17 | "source": [ 18 | "#To show documents -> shift+tab\n", 19 | "print('datascience','abc', end='1')" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 24, 25 | "id": "dcf15da9", 26 | "metadata": {}, 27 | "outputs": [], 28 | "source": [ 29 | "import time\n", 30 | "\n", 31 | "def count_items(items):\n", 32 | " print('Counting ', end='', flush=True)\n", 33 | " num = 0\n", 34 | " for item in items:\n", 35 | " num += 1\n", 36 | " time.sleep(1)\n", 37 | " print('.', end='', flush=True)\n", 38 | "\n", 39 | " print(f'\\nThere were {num} items')" 40 | ] 41 | }, 42 | { 43 | "cell_type": "markdown", 44 | "id": "3862c0c5", 45 | "metadata": {}, 46 | "source": [ 47 | "# 'Hello World'" 48 | ] 49 | }, 50 | { 51 | "cell_type": "markdown", 52 | "id": "cd86d808", 53 | "metadata": {}, 54 | "source": [ 55 | "Hello" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 3, 61 | "id": "970ddc7d", 62 | "metadata": {}, 63 | "outputs": [], 64 | "source": [ 65 | "x = 10" 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 5, 71 | "id": "3fd5638f", 72 | "metadata": {}, 73 | "outputs": [], 74 | "source": [ 75 | "y = 10 #shift + enter" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 6, 81 | "id": "659385aa", 82 | "metadata": {}, 83 | "outputs": [ 84 | { 85 | "name": "stdout", 86 | "output_type": "stream", 87 | "text": [ 88 | "10\n" 89 | ] 90 | } 91 | ], 92 | "source": [ 93 | "print(y)" 94 | ] 95 | }, 96 | { 97 | "cell_type": "code", 98 | "execution_count": 7, 99 | "id": "7f9187c8", 100 | "metadata": {}, 101 | "outputs": [ 102 | { 103 | "data": { 104 | "text/plain": [ 105 | "10" 106 | ] 107 | }, 108 | "execution_count": 7, 109 | "metadata": {}, 110 | "output_type": "execute_result" 111 | } 112 | ], 113 | "source": [ 114 | "y" 115 | ] 116 | }, 117 | { 118 | "cell_type": "code", 119 | "execution_count": 8, 120 | "id": "3f4340db", 121 | "metadata": {}, 122 | "outputs": [ 123 | { 124 | "data": { 125 | "text/plain": [ 126 | "'Study Mart'" 127 | ] 128 | }, 129 | "execution_count": 8, 130 | "metadata": {}, 131 | "output_type": "execute_result" 132 | } 133 | ], 134 | "source": [ 135 | "_9name = 'Study Mart'\n", 136 | "_9name" 137 | ] 138 | }, 139 | { 140 | "cell_type": "code", 141 | "execution_count": 9, 142 | "id": "31c6972e", 143 | "metadata": {}, 144 | "outputs": [ 145 | { 146 | "data": { 147 | "text/plain": [ 148 | "140729755969616" 149 | ] 150 | }, 151 | "execution_count": 9, 152 | "metadata": {}, 153 | "output_type": "execute_result" 154 | } 155 | ], 156 | "source": [ 157 | "X = 10\n", 158 | "Y = 10\n", 159 | "id(x)" 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": 10, 165 | "id": "66f16e8f", 166 | "metadata": {}, 167 | "outputs": [ 168 | { 169 | "data": { 170 | "text/plain": [ 171 | "140729755969936" 172 | ] 173 | }, 174 | "execution_count": 10, 175 | "metadata": {}, 176 | "output_type": "execute_result" 177 | } 178 | ], 179 | "source": [ 180 | "z = 20\n", 181 | "id(z)" 182 | ] 183 | }, 184 | { 185 | "cell_type": "code", 186 | "execution_count": 11, 187 | "id": "a3bcc6e3", 188 | "metadata": {}, 189 | "outputs": [ 190 | { 191 | "data": { 192 | "text/plain": [ 193 | "20" 194 | ] 195 | }, 196 | "execution_count": 11, 197 | "metadata": {}, 198 | "output_type": "execute_result" 199 | } 200 | ], 201 | "source": [ 202 | "z" 203 | ] 204 | }, 205 | { 206 | "cell_type": "code", 207 | "execution_count": 12, 208 | "id": "7461f393", 209 | "metadata": {}, 210 | "outputs": [ 211 | { 212 | "data": { 213 | "text/plain": [ 214 | "140729755969616" 215 | ] 216 | }, 217 | "execution_count": 12, 218 | "metadata": {}, 219 | "output_type": "execute_result" 220 | } 221 | ], 222 | "source": [ 223 | "id(y)" 224 | ] 225 | }, 226 | { 227 | "cell_type": "code", 228 | "execution_count": 13, 229 | "id": "6c832101", 230 | "metadata": {}, 231 | "outputs": [ 232 | { 233 | "data": { 234 | "text/plain": [ 235 | "140729755969936" 236 | ] 237 | }, 238 | "execution_count": 13, 239 | "metadata": {}, 240 | "output_type": "execute_result" 241 | } 242 | ], 243 | "source": [ 244 | "140729755969616\n", 245 | "140729755969616\n", 246 | "\n", 247 | "140729755969936" 248 | ] 249 | }, 250 | { 251 | "cell_type": "code", 252 | "execution_count": 14, 253 | "id": "89d25c49", 254 | "metadata": { 255 | "scrolled": false 256 | }, 257 | "outputs": [ 258 | { 259 | "data": { 260 | "text/plain": [ 261 | "30" 262 | ] 263 | }, 264 | "execution_count": 14, 265 | "metadata": {}, 266 | "output_type": "execute_result" 267 | } 268 | ], 269 | "source": [ 270 | "z = 30\n", 271 | "z" 272 | ] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "execution_count": null, 277 | "id": "f2b840d5", 278 | "metadata": {}, 279 | "outputs": [], 280 | "source": [ 281 | "x,y,z = 20,30,50\n", 282 | "z" 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 16, 288 | "id": "4b8b8b86", 289 | "metadata": {}, 290 | "outputs": [ 291 | { 292 | "data": { 293 | "text/plain": [ 294 | "30" 295 | ] 296 | }, 297 | "execution_count": 16, 298 | "metadata": {}, 299 | "output_type": "execute_result" 300 | } 301 | ], 302 | "source": [ 303 | "y" 304 | ] 305 | }, 306 | { 307 | "cell_type": "code", 308 | "execution_count": 24, 309 | "id": "f07ee375", 310 | "metadata": {}, 311 | "outputs": [], 312 | "source": [ 313 | "x,y,z = 20,30,50" 314 | ] 315 | }, 316 | { 317 | "cell_type": "markdown", 318 | "id": "f0233627", 319 | "metadata": {}, 320 | "source": [ 321 | "# Comments" 322 | ] 323 | }, 324 | { 325 | "cell_type": "code", 326 | "execution_count": 25, 327 | "id": "1e5ba19a", 328 | "metadata": {}, 329 | "outputs": [], 330 | "source": [ 331 | "x = 25 # x is age" 332 | ] 333 | }, 334 | { 335 | "cell_type": "code", 336 | "execution_count": 26, 337 | "id": "ea8f8202", 338 | "metadata": {}, 339 | "outputs": [ 340 | { 341 | "data": { 342 | "text/plain": [ 343 | "25" 344 | ] 345 | }, 346 | "execution_count": 26, 347 | "metadata": {}, 348 | "output_type": "execute_result" 349 | } 350 | ], 351 | "source": [ 352 | "x" 353 | ] 354 | }, 355 | { 356 | "cell_type": "code", 357 | "execution_count": 29, 358 | "id": "489d1ebd", 359 | "metadata": {}, 360 | "outputs": [ 361 | { 362 | "data": { 363 | "text/plain": [ 364 | "'comment'" 365 | ] 366 | }, 367 | "execution_count": 29, 368 | "metadata": {}, 369 | "output_type": "execute_result" 370 | } 371 | ], 372 | "source": [ 373 | "'''100000'''" 374 | ] 375 | }, 376 | { 377 | "cell_type": "code", 378 | "execution_count": 31, 379 | "id": "8cb99340", 380 | "metadata": {}, 381 | "outputs": [ 382 | { 383 | "data": { 384 | "text/plain": [ 385 | "str" 386 | ] 387 | }, 388 | "execution_count": 31, 389 | "metadata": {}, 390 | "output_type": "execute_result" 391 | } 392 | ], 393 | "source": [ 394 | "type('''10000''')" 395 | ] 396 | }, 397 | { 398 | "cell_type": "code", 399 | "execution_count": 32, 400 | "id": "4288cd2e", 401 | "metadata": {}, 402 | "outputs": [ 403 | { 404 | "data": { 405 | "text/plain": [ 406 | "'100'" 407 | ] 408 | }, 409 | "execution_count": 32, 410 | "metadata": {}, 411 | "output_type": "execute_result" 412 | } 413 | ], 414 | "source": [ 415 | "'100'" 416 | ] 417 | }, 418 | { 419 | "cell_type": "code", 420 | "execution_count": 33, 421 | "id": "081aeb7c", 422 | "metadata": {}, 423 | "outputs": [ 424 | { 425 | "data": { 426 | "text/plain": [ 427 | "'10000'" 428 | ] 429 | }, 430 | "execution_count": 33, 431 | "metadata": {}, 432 | "output_type": "execute_result" 433 | } 434 | ], 435 | "source": [ 436 | "\"10000\"" 437 | ] 438 | }, 439 | { 440 | "cell_type": "code", 441 | "execution_count": 35, 442 | "id": "e50443df", 443 | "metadata": {}, 444 | "outputs": [ 445 | { 446 | "data": { 447 | "text/plain": [ 448 | "'\\n300000\\n'" 449 | ] 450 | }, 451 | "execution_count": 35, 452 | "metadata": {}, 453 | "output_type": "execute_result" 454 | } 455 | ], 456 | "source": [ 457 | "'''300000'''" 458 | ] 459 | }, 460 | { 461 | "cell_type": "code", 462 | "execution_count": 38, 463 | "id": "8c837f58", 464 | "metadata": {}, 465 | "outputs": [ 466 | { 467 | "data": { 468 | "text/plain": [ 469 | "str" 470 | ] 471 | }, 472 | "execution_count": 38, 473 | "metadata": {}, 474 | "output_type": "execute_result" 475 | } 476 | ], 477 | "source": [ 478 | "name = \"Sayed Vaia\" #student name\n", 479 | "type(name)" 480 | ] 481 | }, 482 | { 483 | "cell_type": "code", 484 | "execution_count": 39, 485 | "id": "e27712a8", 486 | "metadata": {}, 487 | "outputs": [], 488 | "source": [ 489 | "age = 20" 490 | ] 491 | }, 492 | { 493 | "cell_type": "code", 494 | "execution_count": 41, 495 | "id": "cc153ecd", 496 | "metadata": {}, 497 | "outputs": [ 498 | { 499 | "data": { 500 | "text/plain": [ 501 | "500" 502 | ] 503 | }, 504 | "execution_count": 41, 505 | "metadata": {}, 506 | "output_type": "execute_result" 507 | } 508 | ], 509 | "source": [ 510 | "age*x" 511 | ] 512 | }, 513 | { 514 | "cell_type": "code", 515 | "execution_count": 43, 516 | "id": "79f529aa", 517 | "metadata": {}, 518 | "outputs": [ 519 | { 520 | "data": { 521 | "text/plain": [ 522 | "list" 523 | ] 524 | }, 525 | "execution_count": 43, 526 | "metadata": {}, 527 | "output_type": "execute_result" 528 | } 529 | ], 530 | "source": [ 531 | "'''\n", 532 | "camelCase\n", 533 | "PascalCase\n", 534 | "sanke_case\n", 535 | "'''\n", 536 | "\n", 537 | "student_name = ['sayed','robi'] #snake case\n", 538 | "student_name\n", 539 | "type(student_name)\n", 540 | "\n", 541 | "\n", 542 | "\n" 543 | ] 544 | }, 545 | { 546 | "cell_type": "markdown", 547 | "id": "5286113b", 548 | "metadata": {}, 549 | "source": [ 550 | "# String Formating" 551 | ] 552 | }, 553 | { 554 | "cell_type": "code", 555 | "execution_count": 23, 556 | "id": "d3e4b89b", 557 | "metadata": {}, 558 | "outputs": [ 559 | { 560 | "name": "stdout", 561 | "output_type": "stream", 562 | "text": [ 563 | "I HAVE 10 ok\n" 564 | ] 565 | } 566 | ], 567 | "source": [ 568 | "x = 10\n", 569 | "print('I HAVE '+str(x)+' ok')" 570 | ] 571 | }, 572 | { 573 | "cell_type": "code", 574 | "execution_count": 48, 575 | "id": "ded57586", 576 | "metadata": {}, 577 | "outputs": [ 578 | { 579 | "name": "stdout", 580 | "output_type": "stream", 581 | "text": [ 582 | "I HAVE 3.0 taka\n" 583 | ] 584 | } 585 | ], 586 | "source": [ 587 | "x = 10\n", 588 | "y = 30\n", 589 | "z=y/x\n", 590 | "\n", 591 | "print('I HAVE {} taka'.format(z))" 592 | ] 593 | }, 594 | { 595 | "cell_type": "markdown", 596 | "id": "e21882e8", 597 | "metadata": {}, 598 | "source": [ 599 | "# Global vs Local" 600 | ] 601 | }, 602 | { 603 | "cell_type": "code", 604 | "execution_count": 57, 605 | "id": "fa068766", 606 | "metadata": {}, 607 | "outputs": [ 608 | { 609 | "name": "stdout", 610 | "output_type": "stream", 611 | "text": [ 612 | "ai\n", 613 | "data sciece\n" 614 | ] 615 | } 616 | ], 617 | "source": [ 618 | "#x = 'data sciece' #global\n", 619 | "def myfunction():\n", 620 | " #code\n", 621 | " x = 'ai' # local\n", 622 | " print(x)\n", 623 | "myfunction()\n", 624 | "\n", 625 | "def myfunction2():\n", 626 | " print(x)\n", 627 | "myfunction2()" 628 | ] 629 | }, 630 | { 631 | "cell_type": "code", 632 | "execution_count": 58, 633 | "id": "92abc4a0", 634 | "metadata": {}, 635 | "outputs": [ 636 | { 637 | "name": "stdout", 638 | "output_type": "stream", 639 | "text": [ 640 | "ai\n", 641 | "data sciece\n" 642 | ] 643 | } 644 | ], 645 | "source": [ 646 | "#x = 'data sciece' #global\n", 647 | "def myfunction():\n", 648 | " #code\n", 649 | " x = 'ai' # local\n", 650 | " print(x)\n", 651 | "myfunction()\n", 652 | "\n", 653 | "def myfunction2():\n", 654 | " print(x)\n", 655 | "myfunction2()" 656 | ] 657 | }, 658 | { 659 | "cell_type": "markdown", 660 | "id": "d9a4d6c3", 661 | "metadata": {}, 662 | "source": [ 663 | "# string concat" 664 | ] 665 | }, 666 | { 667 | "cell_type": "code", 668 | "execution_count": 60, 669 | "id": "4d67bcbc", 670 | "metadata": {}, 671 | "outputs": [], 672 | "source": [ 673 | "s1 = 'Full Name : '\n", 674 | "s2 = 'Faisal Ahmed'" 675 | ] 676 | }, 677 | { 678 | "cell_type": "code", 679 | "execution_count": 61, 680 | "id": "0cdc8046", 681 | "metadata": {}, 682 | "outputs": [ 683 | { 684 | "data": { 685 | "text/plain": [ 686 | "'Full Name : Faisal Ahmed'" 687 | ] 688 | }, 689 | "execution_count": 61, 690 | "metadata": {}, 691 | "output_type": "execute_result" 692 | } 693 | ], 694 | "source": [ 695 | "s1+s2 #string concat" 696 | ] 697 | }, 698 | { 699 | "cell_type": "markdown", 700 | "id": "15ac03a1", 701 | "metadata": {}, 702 | "source": [ 703 | "# Input Functon" 704 | ] 705 | }, 706 | { 707 | "cell_type": "code", 708 | "execution_count": 62, 709 | "id": "458968f4", 710 | "metadata": {}, 711 | "outputs": [ 712 | { 713 | "name": "stdout", 714 | "output_type": "stream", 715 | "text": [ 716 | "5\n", 717 | "3\n" 718 | ] 719 | }, 720 | { 721 | "data": { 722 | "text/plain": [ 723 | "'53'" 724 | ] 725 | }, 726 | "execution_count": 62, 727 | "metadata": {}, 728 | "output_type": "execute_result" 729 | } 730 | ], 731 | "source": [ 732 | "x = input()\n", 733 | "y = input()\n", 734 | "z = x+y\n", 735 | "z" 736 | ] 737 | }, 738 | { 739 | "cell_type": "code", 740 | "execution_count": 63, 741 | "id": "a9eeb759", 742 | "metadata": {}, 743 | "outputs": [ 744 | { 745 | "data": { 746 | "text/plain": [ 747 | "str" 748 | ] 749 | }, 750 | "execution_count": 63, 751 | "metadata": {}, 752 | "output_type": "execute_result" 753 | } 754 | ], 755 | "source": [ 756 | "type(z)" 757 | ] 758 | }, 759 | { 760 | "cell_type": "code", 761 | "execution_count": 68, 762 | "id": "e517e010", 763 | "metadata": {}, 764 | "outputs": [ 765 | { 766 | "name": "stdout", 767 | "output_type": "stream", 768 | "text": [ 769 | "Enter your first num: 5\n", 770 | "Enter your 2nd num: 5\n" 771 | ] 772 | }, 773 | { 774 | "data": { 775 | "text/plain": [ 776 | "10.0" 777 | ] 778 | }, 779 | "execution_count": 68, 780 | "metadata": {}, 781 | "output_type": "execute_result" 782 | } 783 | ], 784 | "source": [ 785 | "x = int(input('Enter your first num: '))\n", 786 | "y = float(input('Enter your 2nd num: '))\n", 787 | "z = x+y\n", 788 | "z" 789 | ] 790 | }, 791 | { 792 | "cell_type": "markdown", 793 | "id": "ef5774b4", 794 | "metadata": {}, 795 | "source": [ 796 | "# Condition: if, elif, else" 797 | ] 798 | }, 799 | { 800 | "cell_type": "code", 801 | "execution_count": 72, 802 | "id": "d93956e1", 803 | "metadata": {}, 804 | "outputs": [ 805 | { 806 | "name": "stdout", 807 | "output_type": "stream", 808 | "text": [ 809 | "100\n" 810 | ] 811 | } 812 | ], 813 | "source": [ 814 | "x = 100\n", 815 | "\n", 816 | "if x>105:\n", 817 | " print(x)\n", 818 | "\n", 819 | "elif(x>50): # else if\n", 820 | " print(x)\n", 821 | " \n", 822 | "else:\n", 823 | " print('Stop')" 824 | ] 825 | }, 826 | { 827 | "cell_type": "markdown", 828 | "id": "33c689a0", 829 | "metadata": {}, 830 | "source": [ 831 | "# for loop" 832 | ] 833 | }, 834 | { 835 | "cell_type": "code", 836 | "execution_count": 87, 837 | "id": "f29c7571", 838 | "metadata": {}, 839 | "outputs": [ 840 | { 841 | "name": "stdout", 842 | "output_type": "stream", 843 | "text": [ 844 | "1\n", 845 | "6\n" 846 | ] 847 | } 848 | ], 849 | "source": [ 850 | "for x in range(1,10,5): #n-1\n", 851 | " print(x)" 852 | ] 853 | }, 854 | { 855 | "cell_type": "code", 856 | "execution_count": 90, 857 | "id": "539056c5", 858 | "metadata": {}, 859 | "outputs": [ 860 | { 861 | "name": "stdout", 862 | "output_type": "stream", 863 | "text": [ 864 | "1\n", 865 | "11\n", 866 | "21\n", 867 | "31\n", 868 | "41\n", 869 | "51\n", 870 | "61\n", 871 | "71\n", 872 | "81\n", 873 | "91\n" 874 | ] 875 | } 876 | ], 877 | "source": [ 878 | "i = 1\n", 879 | "while i<100:\n", 880 | " print(i)\n", 881 | " i = i+10" 882 | ] 883 | }, 884 | { 885 | "cell_type": "markdown", 886 | "id": "8268b15f", 887 | "metadata": {}, 888 | "source": [ 889 | "# Data Structure: List" 890 | ] 891 | }, 892 | { 893 | "cell_type": "code", 894 | "execution_count": 91, 895 | "id": "953eb104", 896 | "metadata": {}, 897 | "outputs": [ 898 | { 899 | "data": { 900 | "text/plain": [ 901 | "[1, 2, 3, 4, 5, 6]" 902 | ] 903 | }, 904 | "execution_count": 91, 905 | "metadata": {}, 906 | "output_type": "execute_result" 907 | } 908 | ], 909 | "source": [ 910 | "l1 = [1,2,3,4,5,6] #list\n", 911 | "l1" 912 | ] 913 | }, 914 | { 915 | "cell_type": "code", 916 | "execution_count": 92, 917 | "id": "74364256", 918 | "metadata": {}, 919 | "outputs": [ 920 | { 921 | "data": { 922 | "text/plain": [ 923 | "list" 924 | ] 925 | }, 926 | "execution_count": 92, 927 | "metadata": {}, 928 | "output_type": "execute_result" 929 | } 930 | ], 931 | "source": [ 932 | "type(l1)" 933 | ] 934 | }, 935 | { 936 | "cell_type": "code", 937 | "execution_count": 94, 938 | "id": "0b3f63ac", 939 | "metadata": {}, 940 | "outputs": [ 941 | { 942 | "data": { 943 | "text/plain": [ 944 | "104" 945 | ] 946 | }, 947 | "execution_count": 94, 948 | "metadata": {}, 949 | "output_type": "execute_result" 950 | } 951 | ], 952 | "source": [ 953 | "import sys\n", 954 | "sys.getsizeof(l1)" 955 | ] 956 | }, 957 | { 958 | "cell_type": "code", 959 | "execution_count": 99, 960 | "id": "34e9f60e", 961 | "metadata": {}, 962 | "outputs": [ 963 | { 964 | "data": { 965 | "text/plain": [ 966 | "28" 967 | ] 968 | }, 969 | "execution_count": 99, 970 | "metadata": {}, 971 | "output_type": "execute_result" 972 | } 973 | ], 974 | "source": [ 975 | "x = 1000000000\n", 976 | "sys.getsizeof(x)" 977 | ] 978 | }, 979 | { 980 | "cell_type": "code", 981 | "execution_count": 100, 982 | "id": "bb64c1d5", 983 | "metadata": {}, 984 | "outputs": [ 985 | { 986 | "data": { 987 | "text/plain": [ 988 | "[1, 2, 3, 4, 5, 6, 'data', True, False, [1, 2, 3], (10, 20)]" 989 | ] 990 | }, 991 | "execution_count": 100, 992 | "metadata": {}, 993 | "output_type": "execute_result" 994 | } 995 | ], 996 | "source": [ 997 | "l1 = [1,2,3,4,5,6,'data',True,False,[1,2,3],(10,20)] #list\n", 998 | "l1" 999 | ] 1000 | }, 1001 | { 1002 | "cell_type": "code", 1003 | "execution_count": 101, 1004 | "id": "c070c54b", 1005 | "metadata": {}, 1006 | "outputs": [ 1007 | { 1008 | "data": { 1009 | "text/plain": [ 1010 | "'data'" 1011 | ] 1012 | }, 1013 | "execution_count": 101, 1014 | "metadata": {}, 1015 | "output_type": "execute_result" 1016 | } 1017 | ], 1018 | "source": [ 1019 | "l1[6]" 1020 | ] 1021 | }, 1022 | { 1023 | "cell_type": "code", 1024 | "execution_count": 107, 1025 | "id": "d5a01b1f", 1026 | "metadata": {}, 1027 | "outputs": [ 1028 | { 1029 | "data": { 1030 | "text/plain": [ 1031 | "1" 1032 | ] 1033 | }, 1034 | "execution_count": 107, 1035 | "metadata": {}, 1036 | "output_type": "execute_result" 1037 | } 1038 | ], 1039 | "source": [ 1040 | "l1[9][0]" 1041 | ] 1042 | }, 1043 | { 1044 | "cell_type": "code", 1045 | "execution_count": 105, 1046 | "id": "2f06f03b", 1047 | "metadata": {}, 1048 | "outputs": [ 1049 | { 1050 | "data": { 1051 | "text/plain": [ 1052 | "[1, 2, 3, 4]" 1053 | ] 1054 | }, 1055 | "execution_count": 105, 1056 | "metadata": {}, 1057 | "output_type": "execute_result" 1058 | } 1059 | ], 1060 | "source": [ 1061 | "l1[0:4]" 1062 | ] 1063 | }, 1064 | { 1065 | "cell_type": "code", 1066 | "execution_count": 109, 1067 | "id": "ece902d5", 1068 | "metadata": {}, 1069 | "outputs": [ 1070 | { 1071 | "data": { 1072 | "text/plain": [ 1073 | "'data'" 1074 | ] 1075 | }, 1076 | "execution_count": 109, 1077 | "metadata": {}, 1078 | "output_type": "execute_result" 1079 | } 1080 | ], 1081 | "source": [ 1082 | "l1[-5]" 1083 | ] 1084 | }, 1085 | { 1086 | "cell_type": "code", 1087 | "execution_count": 110, 1088 | "id": "4dee2f9f", 1089 | "metadata": {}, 1090 | "outputs": [ 1091 | { 1092 | "data": { 1093 | "text/plain": [ 1094 | "[1, 2, 3, 3, 4, 4, 5, 6, 'data', True, False, [1, 2, 3], (10, 20)]" 1095 | ] 1096 | }, 1097 | "execution_count": 110, 1098 | "metadata": {}, 1099 | "output_type": "execute_result" 1100 | } 1101 | ], 1102 | "source": [ 1103 | "l1 = [1,2,3,3,4,4,5,6,'data',True,False,[1,2,3],(10,20)] #list\n", 1104 | "l1" 1105 | ] 1106 | }, 1107 | { 1108 | "cell_type": "code", 1109 | "execution_count": 111, 1110 | "id": "d1b202aa", 1111 | "metadata": {}, 1112 | "outputs": [], 1113 | "source": [ 1114 | "l1[6] = 'ai'" 1115 | ] 1116 | }, 1117 | { 1118 | "cell_type": "code", 1119 | "execution_count": 112, 1120 | "id": "b7e72a83", 1121 | "metadata": {}, 1122 | "outputs": [ 1123 | { 1124 | "data": { 1125 | "text/plain": [ 1126 | "[1, 2, 3, 3, 4, 4, 'ai', 6, 'data', True, False, [1, 2, 3], (10, 20)]" 1127 | ] 1128 | }, 1129 | "execution_count": 112, 1130 | "metadata": {}, 1131 | "output_type": "execute_result" 1132 | } 1133 | ], 1134 | "source": [ 1135 | "l1" 1136 | ] 1137 | }, 1138 | { 1139 | "cell_type": "code", 1140 | "execution_count": 113, 1141 | "id": "f4957006", 1142 | "metadata": {}, 1143 | "outputs": [], 1144 | "source": [ 1145 | "l1.append('tareq')" 1146 | ] 1147 | }, 1148 | { 1149 | "cell_type": "code", 1150 | "execution_count": 114, 1151 | "id": "765148ea", 1152 | "metadata": {}, 1153 | "outputs": [ 1154 | { 1155 | "data": { 1156 | "text/plain": [ 1157 | "[1, 2, 3, 3, 4, 4, 'ai', 6, 'data', True, False, [1, 2, 3], (10, 20), 'tareq']" 1158 | ] 1159 | }, 1160 | "execution_count": 114, 1161 | "metadata": {}, 1162 | "output_type": "execute_result" 1163 | } 1164 | ], 1165 | "source": [ 1166 | "l1" 1167 | ] 1168 | }, 1169 | { 1170 | "cell_type": "code", 1171 | "execution_count": 115, 1172 | "id": "1bf8aee1", 1173 | "metadata": {}, 1174 | "outputs": [], 1175 | "source": [ 1176 | "l1.insert(6,'jacky')" 1177 | ] 1178 | }, 1179 | { 1180 | "cell_type": "code", 1181 | "execution_count": 116, 1182 | "id": "2e3b311f", 1183 | "metadata": {}, 1184 | "outputs": [ 1185 | { 1186 | "data": { 1187 | "text/plain": [ 1188 | "[1,\n", 1189 | " 2,\n", 1190 | " 3,\n", 1191 | " 3,\n", 1192 | " 4,\n", 1193 | " 4,\n", 1194 | " 'jacky',\n", 1195 | " 'ai',\n", 1196 | " 6,\n", 1197 | " 'data',\n", 1198 | " True,\n", 1199 | " False,\n", 1200 | " [1, 2, 3],\n", 1201 | " (10, 20),\n", 1202 | " 'tareq']" 1203 | ] 1204 | }, 1205 | "execution_count": 116, 1206 | "metadata": {}, 1207 | "output_type": "execute_result" 1208 | } 1209 | ], 1210 | "source": [ 1211 | "l1" 1212 | ] 1213 | }, 1214 | { 1215 | "cell_type": "code", 1216 | "execution_count": 117, 1217 | "id": "4d4f5803", 1218 | "metadata": {}, 1219 | "outputs": [ 1220 | { 1221 | "data": { 1222 | "text/plain": [ 1223 | "'jacky'" 1224 | ] 1225 | }, 1226 | "execution_count": 117, 1227 | "metadata": {}, 1228 | "output_type": "execute_result" 1229 | } 1230 | ], 1231 | "source": [ 1232 | "l1.pop(6)" 1233 | ] 1234 | }, 1235 | { 1236 | "cell_type": "code", 1237 | "execution_count": 118, 1238 | "id": "89db6588", 1239 | "metadata": {}, 1240 | "outputs": [ 1241 | { 1242 | "data": { 1243 | "text/plain": [ 1244 | "[1, 2, 3, 3, 4, 4, 'ai', 6, 'data', True, False, [1, 2, 3], (10, 20), 'tareq']" 1245 | ] 1246 | }, 1247 | "execution_count": 118, 1248 | "metadata": {}, 1249 | "output_type": "execute_result" 1250 | } 1251 | ], 1252 | "source": [ 1253 | "l1" 1254 | ] 1255 | }, 1256 | { 1257 | "cell_type": "code", 1258 | "execution_count": 119, 1259 | "id": "f003e1fa", 1260 | "metadata": {}, 1261 | "outputs": [], 1262 | "source": [ 1263 | "del l1[6]" 1264 | ] 1265 | }, 1266 | { 1267 | "cell_type": "code", 1268 | "execution_count": 120, 1269 | "id": "5b83051a", 1270 | "metadata": {}, 1271 | "outputs": [ 1272 | { 1273 | "data": { 1274 | "text/plain": [ 1275 | "[1, 2, 3, 3, 4, 4, 6, 'data', True, False, [1, 2, 3], (10, 20), 'tareq']" 1276 | ] 1277 | }, 1278 | "execution_count": 120, 1279 | "metadata": {}, 1280 | "output_type": "execute_result" 1281 | } 1282 | ], 1283 | "source": [ 1284 | "l1" 1285 | ] 1286 | }, 1287 | { 1288 | "cell_type": "code", 1289 | "execution_count": 121, 1290 | "id": "1baeb373", 1291 | "metadata": {}, 1292 | "outputs": [], 1293 | "source": [ 1294 | "l1.clear()" 1295 | ] 1296 | }, 1297 | { 1298 | "cell_type": "code", 1299 | "execution_count": 122, 1300 | "id": "a7ca0413", 1301 | "metadata": {}, 1302 | "outputs": [ 1303 | { 1304 | "data": { 1305 | "text/plain": [ 1306 | "[]" 1307 | ] 1308 | }, 1309 | "execution_count": 122, 1310 | "metadata": {}, 1311 | "output_type": "execute_result" 1312 | } 1313 | ], 1314 | "source": [ 1315 | "l1" 1316 | ] 1317 | }, 1318 | { 1319 | "cell_type": "code", 1320 | "execution_count": null, 1321 | "id": "d5981665", 1322 | "metadata": {}, 1323 | "outputs": [], 1324 | "source": [] 1325 | } 1326 | ], 1327 | "metadata": { 1328 | "kernelspec": { 1329 | "display_name": "Python 3", 1330 | "language": "python", 1331 | "name": "python3" 1332 | }, 1333 | "language_info": { 1334 | "codemirror_mode": { 1335 | "name": "ipython", 1336 | "version": 3 1337 | }, 1338 | "file_extension": ".py", 1339 | "mimetype": "text/x-python", 1340 | "name": "python", 1341 | "nbconvert_exporter": "python", 1342 | "pygments_lexer": "ipython3", 1343 | "version": "3.8.8" 1344 | } 1345 | }, 1346 | "nbformat": 4, 1347 | "nbformat_minor": 5 1348 | } 1349 | -------------------------------------------------------------------------------- /Class - 04 - Linear Regression.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "572ea37f", 7 | "metadata": {}, 8 | "outputs": [ 9 | { 10 | "data": { 11 | "text/plain": [ 12 | "'C:\\\\Users\\\\study mart\\\\Downloads\\\\ML Batch 05\\\\Class 04'" 13 | ] 14 | }, 15 | "execution_count": 1, 16 | "metadata": {}, 17 | "output_type": "execute_result" 18 | } 19 | ], 20 | "source": [ 21 | "#find working dir\n", 22 | "import os\n", 23 | "os.getcwd() # cwd = current working dir" 24 | ] 25 | }, 26 | { 27 | "cell_type": "code", 28 | "execution_count": 6, 29 | "id": "dc1f0342", 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "#change courrent working dir\n", 34 | "#os.chdir('copy the path')\n", 35 | "os.chdir('C:\\\\Users\\\\study mart\\\\Desktop\\\\New folder')" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 7, 41 | "id": "3bafa36b", 42 | "metadata": {}, 43 | "outputs": [ 44 | { 45 | "data": { 46 | "text/plain": [ 47 | "'C:\\\\Users\\\\study mart\\\\Desktop\\\\New folder'" 48 | ] 49 | }, 50 | "execution_count": 7, 51 | "metadata": {}, 52 | "output_type": "execute_result" 53 | } 54 | ], 55 | "source": [ 56 | "import os\n", 57 | "os.getcwd()" 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "execution_count": 8, 63 | "id": "93671570", 64 | "metadata": {}, 65 | "outputs": [], 66 | "source": [ 67 | "import pandas as pd\n", 68 | "df = pd.read_excel('home.xlsx')" 69 | ] 70 | }, 71 | { 72 | "cell_type": "code", 73 | "execution_count": 9, 74 | "id": "7ad54760", 75 | "metadata": {}, 76 | "outputs": [ 77 | { 78 | "data": { 79 | "text/html": [ 80 | "
\n", 81 | "\n", 94 | "\n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | "
arearent
0200031500
1210035000
2250041050
3225036100
4300052100
\n", 130 | "
" 131 | ], 132 | "text/plain": [ 133 | " area rent\n", 134 | "0 2000 31500\n", 135 | "1 2100 35000\n", 136 | "2 2500 41050\n", 137 | "3 2250 36100\n", 138 | "4 3000 52100" 139 | ] 140 | }, 141 | "execution_count": 9, 142 | "metadata": {}, 143 | "output_type": "execute_result" 144 | } 145 | ], 146 | "source": [ 147 | "df.head()" 148 | ] 149 | }, 150 | { 151 | "cell_type": "code", 152 | "execution_count": 11, 153 | "id": "40bebcb4", 154 | "metadata": {}, 155 | "outputs": [ 156 | { 157 | "data": { 158 | "text/plain": [ 159 | "area 0\n", 160 | "rent 0\n", 161 | "dtype: int64" 162 | ] 163 | }, 164 | "execution_count": 11, 165 | "metadata": {}, 166 | "output_type": "execute_result" 167 | } 168 | ], 169 | "source": [ 170 | "df.isnull().sum()" 171 | ] 172 | }, 173 | { 174 | "cell_type": "code", 175 | "execution_count": 12, 176 | "id": "3d595736", 177 | "metadata": {}, 178 | "outputs": [ 179 | { 180 | "data": { 181 | "text/plain": [ 182 | "(29, 2)" 183 | ] 184 | }, 185 | "execution_count": 12, 186 | "metadata": {}, 187 | "output_type": "execute_result" 188 | } 189 | ], 190 | "source": [ 191 | "df.shape # 29 rows, 2 columns" 192 | ] 193 | }, 194 | { 195 | "cell_type": "code", 196 | "execution_count": 17, 197 | "id": "465fa161", 198 | "metadata": {}, 199 | "outputs": [ 200 | { 201 | "data": { 202 | "text/plain": [ 203 | "24 2800\n", 204 | "25 3100\n", 205 | "26 2750\n", 206 | "27 1800\n", 207 | "28 2200\n", 208 | "Name: area, dtype: int64" 209 | ] 210 | }, 211 | "execution_count": 17, 212 | "metadata": {}, 213 | "output_type": "execute_result" 214 | } 215 | ], 216 | "source": [ 217 | "df.area.tail()" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 19, 223 | "id": "d8ec3ae7", 224 | "metadata": {}, 225 | "outputs": [ 226 | { 227 | "data": { 228 | "text/plain": [ 229 | "0 31500\n", 230 | "1 35000\n", 231 | "2 41050\n", 232 | "3 36100\n", 233 | "4 52100\n", 234 | "Name: rent, dtype: int64" 235 | ] 236 | }, 237 | "execution_count": 19, 238 | "metadata": {}, 239 | "output_type": "execute_result" 240 | } 241 | ], 242 | "source": [ 243 | "df['rent'].head()" 244 | ] 245 | }, 246 | { 247 | "cell_type": "code", 248 | "execution_count": 20, 249 | "id": "02d4f83f", 250 | "metadata": {}, 251 | "outputs": [], 252 | "source": [ 253 | "import matplotlib.pyplot as plt\n", 254 | "import numpy as np" 255 | ] 256 | }, 257 | { 258 | "cell_type": "markdown", 259 | "id": "d8d25314", 260 | "metadata": {}, 261 | "source": [ 262 | "# Data Visualization" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": 21, 268 | "id": "2c0381cf", 269 | "metadata": {}, 270 | "outputs": [ 271 | { 272 | "data": { 273 | "text/plain": [ 274 | "" 275 | ] 276 | }, 277 | "execution_count": 21, 278 | "metadata": {}, 279 | "output_type": "execute_result" 280 | }, 281 | { 282 | "data": { 283 | "image/png": "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\n", 284 | "text/plain": [ 285 | "
" 286 | ] 287 | }, 288 | "metadata": { 289 | "needs_background": "light" 290 | }, 291 | "output_type": "display_data" 292 | } 293 | ], 294 | "source": [ 295 | "plt.scatter(df.area, df.rent)" 296 | ] 297 | }, 298 | { 299 | "cell_type": "code", 300 | "execution_count": 38, 301 | "id": "736e10d2", 302 | "metadata": {}, 303 | "outputs": [ 304 | { 305 | "data": { 306 | "image/png": "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\n", 307 | "text/plain": [ 308 | "
" 309 | ] 310 | }, 311 | "metadata": { 312 | "needs_background": "light" 313 | }, 314 | "output_type": "display_data" 315 | } 316 | ], 317 | "source": [ 318 | "plt.scatter(df['area'], df['rent'], color='black',marker=\"o\")\n", 319 | "plt.xlabel('Size of house',color='red')\n", 320 | "plt.ylabel('Rent of the house',color='red')\n", 321 | "plt.title('House Rent', color='blue')\n", 322 | "plt.savefig('rent.png')" 323 | ] 324 | }, 325 | { 326 | "cell_type": "markdown", 327 | "id": "b6e90b23", 328 | "metadata": {}, 329 | "source": [ 330 | "# Seperate Train and Test Data" 331 | ] 332 | }, 333 | { 334 | "cell_type": "code", 335 | "execution_count": 39, 336 | "id": "c57d29d3", 337 | "metadata": {}, 338 | "outputs": [], 339 | "source": [ 340 | "from sklearn.model_selection import train_test_split" 341 | ] 342 | }, 343 | { 344 | "cell_type": "code", 345 | "execution_count": 57, 346 | "id": "5a6f46d5", 347 | "metadata": {}, 348 | "outputs": [], 349 | "source": [ 350 | "x = df[['area']]\n", 351 | "y = df['rent']" 352 | ] 353 | }, 354 | { 355 | "cell_type": "code", 356 | "execution_count": 58, 357 | "id": "ab89aa81", 358 | "metadata": {}, 359 | "outputs": [], 360 | "source": [ 361 | "xtrain, xtest, ytrain,ytest = train_test_split(x,y, train_size=.70) # test_size=.30" 362 | ] 363 | }, 364 | { 365 | "cell_type": "code", 366 | "execution_count": 59, 367 | "id": "f43cff93", 368 | "metadata": {}, 369 | "outputs": [ 370 | { 371 | "data": { 372 | "text/plain": [ 373 | "(20, 1)" 374 | ] 375 | }, 376 | "execution_count": 59, 377 | "metadata": {}, 378 | "output_type": "execute_result" 379 | } 380 | ], 381 | "source": [ 382 | "xtrain.shape" 383 | ] 384 | }, 385 | { 386 | "cell_type": "code", 387 | "execution_count": 60, 388 | "id": "a38b07aa", 389 | "metadata": {}, 390 | "outputs": [ 391 | { 392 | "data": { 393 | "text/plain": [ 394 | "(20,)" 395 | ] 396 | }, 397 | "execution_count": 60, 398 | "metadata": {}, 399 | "output_type": "execute_result" 400 | } 401 | ], 402 | "source": [ 403 | "ytrain.shape" 404 | ] 405 | }, 406 | { 407 | "cell_type": "code", 408 | "execution_count": 61, 409 | "id": "d3bdcd0a", 410 | "metadata": {}, 411 | "outputs": [], 412 | "source": [ 413 | "from sklearn.linear_model import LinearRegression" 414 | ] 415 | }, 416 | { 417 | "cell_type": "code", 418 | "execution_count": 62, 419 | "id": "e0378e7b", 420 | "metadata": {}, 421 | "outputs": [], 422 | "source": [ 423 | "reg = LinearRegression()" 424 | ] 425 | }, 426 | { 427 | "cell_type": "code", 428 | "execution_count": 63, 429 | "id": "a70aa1a4", 430 | "metadata": {}, 431 | "outputs": [ 432 | { 433 | "data": { 434 | "text/plain": [ 435 | "LinearRegression()" 436 | ] 437 | }, 438 | "execution_count": 63, 439 | "metadata": {}, 440 | "output_type": "execute_result" 441 | } 442 | ], 443 | "source": [ 444 | "reg.fit(xtrain,ytrain) #training" 445 | ] 446 | }, 447 | { 448 | "cell_type": "code", 449 | "execution_count": 67, 450 | "id": "ab5040c5", 451 | "metadata": {}, 452 | "outputs": [], 453 | "source": [ 454 | "m = reg.coef_" 455 | ] 456 | }, 457 | { 458 | "cell_type": "code", 459 | "execution_count": 68, 460 | "id": "ad79660e", 461 | "metadata": {}, 462 | "outputs": [], 463 | "source": [ 464 | "c = reg.intercept_" 465 | ] 466 | }, 467 | { 468 | "cell_type": "code", 469 | "execution_count": 69, 470 | "id": "262e735e", 471 | "metadata": {}, 472 | "outputs": [ 473 | { 474 | "data": { 475 | "text/plain": [ 476 | "array([73223.6155322])" 477 | ] 478 | }, 479 | "execution_count": 69, 480 | "metadata": {}, 481 | "output_type": "execute_result" 482 | } 483 | ], 484 | "source": [ 485 | "reg.predict([[4000]])" 486 | ] 487 | }, 488 | { 489 | "cell_type": "code", 490 | "execution_count": 70, 491 | "id": "17ad6b67", 492 | "metadata": {}, 493 | "outputs": [], 494 | "source": [ 495 | "y = m*4000 + c" 496 | ] 497 | }, 498 | { 499 | "cell_type": "code", 500 | "execution_count": 71, 501 | "id": "761fea45", 502 | "metadata": {}, 503 | "outputs": [ 504 | { 505 | "data": { 506 | "text/plain": [ 507 | "array([73223.6155322])" 508 | ] 509 | }, 510 | "execution_count": 71, 511 | "metadata": {}, 512 | "output_type": "execute_result" 513 | } 514 | ], 515 | "source": [ 516 | "y" 517 | ] 518 | }, 519 | { 520 | "cell_type": "code", 521 | "execution_count": 75, 522 | "id": "9dd73f79", 523 | "metadata": {}, 524 | "outputs": [ 525 | { 526 | "data": { 527 | "text/html": [ 528 | "
\n", 529 | "\n", 542 | "\n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | "
arearentOutput
020003150031191.226701
121003500033292.846143
225004105041699.323909
322503610036445.275305
430005210052207.421117
519003250029089.607260
615002000020683.129493
718502450028038.797539
827004800045902.562792
921003100033292.846143
1021503450034343.655864
1121003200033292.846143
1221003450033292.846143
1325104005041909.485853
1422503410036445.275305
1531005150054309.040558
1618003050026987.987818
1715502100021733.939214
1818002500026987.987818
1927004700045902.562792
2021103150033503.008087
2121003350033292.846143
2235007000062715.518324
2312002000014378.271169
2428005000048004.182234
2531005300054309.040558
2627504800046953.372513
2718002500026987.987818
2822003146035394.465584
\n", 728 | "
" 729 | ], 730 | "text/plain": [ 731 | " area rent Output\n", 732 | "0 2000 31500 31191.226701\n", 733 | "1 2100 35000 33292.846143\n", 734 | "2 2500 41050 41699.323909\n", 735 | "3 2250 36100 36445.275305\n", 736 | "4 3000 52100 52207.421117\n", 737 | "5 1900 32500 29089.607260\n", 738 | "6 1500 20000 20683.129493\n", 739 | "7 1850 24500 28038.797539\n", 740 | "8 2700 48000 45902.562792\n", 741 | "9 2100 31000 33292.846143\n", 742 | "10 2150 34500 34343.655864\n", 743 | "11 2100 32000 33292.846143\n", 744 | "12 2100 34500 33292.846143\n", 745 | "13 2510 40050 41909.485853\n", 746 | "14 2250 34100 36445.275305\n", 747 | "15 3100 51500 54309.040558\n", 748 | "16 1800 30500 26987.987818\n", 749 | "17 1550 21000 21733.939214\n", 750 | "18 1800 25000 26987.987818\n", 751 | "19 2700 47000 45902.562792\n", 752 | "20 2110 31500 33503.008087\n", 753 | "21 2100 33500 33292.846143\n", 754 | "22 3500 70000 62715.518324\n", 755 | "23 1200 20000 14378.271169\n", 756 | "24 2800 50000 48004.182234\n", 757 | "25 3100 53000 54309.040558\n", 758 | "26 2750 48000 46953.372513\n", 759 | "27 1800 25000 26987.987818\n", 760 | "28 2200 31460 35394.465584" 761 | ] 762 | }, 763 | "execution_count": 75, 764 | "metadata": {}, 765 | "output_type": "execute_result" 766 | } 767 | ], 768 | "source": [ 769 | "df['Output'] = reg.predict(x)\n", 770 | "df" 771 | ] 772 | }, 773 | { 774 | "cell_type": "markdown", 775 | "id": "322eeb18", 776 | "metadata": {}, 777 | "source": [ 778 | "# Best Fit Line" 779 | ] 780 | }, 781 | { 782 | "cell_type": "code", 783 | "execution_count": 80, 784 | "id": "2c9d07d9", 785 | "metadata": {}, 786 | "outputs": [ 787 | { 788 | "data": { 789 | "text/plain": [ 790 | "Text(0.5, 1.0, 'House Rent')" 791 | ] 792 | }, 793 | "execution_count": 80, 794 | "metadata": {}, 795 | "output_type": "execute_result" 796 | }, 797 | { 798 | "data": { 799 | "image/png": "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\n", 800 | "text/plain": [ 801 | "
" 802 | ] 803 | }, 804 | "metadata": { 805 | "needs_background": "light" 806 | }, 807 | "output_type": "display_data" 808 | } 809 | ], 810 | "source": [ 811 | "plt.plot(df.area , df.Output)\n", 812 | "plt.scatter(df['area'], df['rent'], color='black',marker=\"o\")\n", 813 | "plt.xlabel('Size of house',color='red')\n", 814 | "plt.ylabel('Rent of the house',color='red')\n", 815 | "plt.title('House Rent', color='blue')" 816 | ] 817 | }, 818 | { 819 | "cell_type": "code", 820 | "execution_count": 81, 821 | "id": "fa266d92", 822 | "metadata": {}, 823 | "outputs": [ 824 | { 825 | "data": { 826 | "text/plain": [ 827 | "0.9819930357448862" 828 | ] 829 | }, 830 | "execution_count": 81, 831 | "metadata": {}, 832 | "output_type": "execute_result" 833 | } 834 | ], 835 | "source": [ 836 | "reg.score(xtest,ytest) # R squared valur" 837 | ] 838 | }, 839 | { 840 | "cell_type": "code", 841 | "execution_count": 82, 842 | "id": "23df9285", 843 | "metadata": {}, 844 | "outputs": [ 845 | { 846 | "data": { 847 | "text/plain": [ 848 | "array([115256.00436321])" 849 | ] 850 | }, 851 | "execution_count": 82, 852 | "metadata": {}, 853 | "output_type": "execute_result" 854 | } 855 | ], 856 | "source": [ 857 | "y = m*6000 + c\n", 858 | "y" 859 | ] 860 | }, 861 | { 862 | "cell_type": "code", 863 | "execution_count": 83, 864 | "id": "a7625b3d", 865 | "metadata": {}, 866 | "outputs": [], 867 | "source": [ 868 | "y = m*649.20 + c" 869 | ] 870 | }, 871 | { 872 | "cell_type": "code", 873 | "execution_count": 84, 874 | "id": "b2c477e1", 875 | "metadata": {}, 876 | "outputs": [ 877 | { 878 | "data": { 879 | "text/plain": [ 880 | "array([2802.55128472])" 881 | ] 882 | }, 883 | "execution_count": 84, 884 | "metadata": {}, 885 | "output_type": "execute_result" 886 | } 887 | ], 888 | "source": [ 889 | "y" 890 | ] 891 | }, 892 | { 893 | "cell_type": "code", 894 | "execution_count": null, 895 | "id": "d863508a", 896 | "metadata": {}, 897 | "outputs": [], 898 | "source": [] 899 | } 900 | ], 901 | "metadata": { 902 | "kernelspec": { 903 | "display_name": "Python 3", 904 | "language": "python", 905 | "name": "python3" 906 | }, 907 | "language_info": { 908 | "codemirror_mode": { 909 | "name": "ipython", 910 | "version": 3 911 | }, 912 | "file_extension": ".py", 913 | "mimetype": "text/x-python", 914 | "name": "python", 915 | "nbconvert_exporter": "python", 916 | "pygments_lexer": "ipython3", 917 | "version": "3.8.8" 918 | } 919 | }, 920 | "nbformat": 4, 921 | "nbformat_minor": 5 922 | } 923 | -------------------------------------------------------------------------------- /LSTM_.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "LSTM .ipynb", 7 | "provenance": [], 8 | "collapsed_sections": [] 9 | }, 10 | "kernelspec": { 11 | "name": "python3", 12 | "display_name": "Python 3" 13 | }, 14 | "language_info": { 15 | "name": "python" 16 | } 17 | }, 18 | "cells": [ 19 | { 20 | "cell_type": "code", 21 | "execution_count": 1, 22 | "metadata": { 23 | "colab": { 24 | "resources": { 25 | "http://localhost:8080/nbextensions/google.colab/files.js": { 26 | "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgZG8gewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwoKICAgICAgbGV0IHBlcmNlbnREb25lID0gZmlsZURhdGEuYnl0ZUxlbmd0aCA9PT0gMCA/CiAgICAgICAgICAxMDAgOgogICAgICAgICAgTWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCk7CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPSBgJHtwZXJjZW50RG9uZX0lIGRvbmVgOwoKICAgIH0gd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCk7CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", 27 | "ok": true, 28 | "headers": [ 29 | [ 30 | "content-type", 31 | "application/javascript" 32 | ] 33 | ], 34 | "status": 200, 35 | "status_text": "" 36 | } 37 | }, 38 | "base_uri": "https://localhost:8080/", 39 | "height": 73 40 | }, 41 | "id": "Z2J8wSDhrIiI", 42 | "outputId": "21631cca-741e-48ab-c64a-ed17ff5fd114" 43 | }, 44 | "outputs": [ 45 | { 46 | "output_type": "display_data", 47 | "data": { 48 | "text/html": [ 49 | "\n", 50 | " \n", 52 | " \n", 53 | " Upload widget is only available when the cell has been executed in the\n", 54 | " current browser session. Please rerun this cell to enable.\n", 55 | " \n", 56 | " " 57 | ], 58 | "text/plain": [ 59 | "" 60 | ] 61 | }, 62 | "metadata": {} 63 | }, 64 | { 65 | "output_type": "stream", 66 | "name": "stdout", 67 | "text": [ 68 | "Saving lstm data.csv to lstm data.csv\n" 69 | ] 70 | } 71 | ], 72 | "source": [ 73 | "from google.colab import files\n", 74 | "UP = files.upload()" 75 | ] 76 | }, 77 | { 78 | "cell_type": "code", 79 | "source": [ 80 | "import pandas as pd\n", 81 | "df =pd.read_csv ('lstm data.csv', header=None, index_col=None, delimiter=',')" 82 | ], 83 | "metadata": { 84 | "id": "PMOvK5C7rUYZ" 85 | }, 86 | "execution_count": 2, 87 | "outputs": [] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "source": [ 92 | "import numpy as np\n", 93 | "import matplotlib.pyplot as plt\n", 94 | "import pandas as pd\n", 95 | "from pandas import read_csv\n", 96 | "import math\n", 97 | "from keras.models import Sequential\n", 98 | "from keras.layers import Dense\n", 99 | "from keras.layers import LSTM\n", 100 | "from sklearn.preprocessing import MinMaxScaler\n", 101 | "from sklearn.metrics import mean_squared_error\n", 102 | "from keras.layers.core import Dense, Activation, Dropout\n", 103 | "import time #helper libraries" 104 | ], 105 | "metadata": { 106 | "id": "t2CJLppGrtnB" 107 | }, 108 | "execution_count": 3, 109 | "outputs": [] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "source": [ 114 | "input_file = df\n", 115 | "\n", 116 | "# convert an array of values into a dataset matrix\n", 117 | "def create_dataset(dataset, look_back=1):\n", 118 | "\tdataX, dataY = [], []\n", 119 | "\tfor i in range(len(dataset)-look_back-1):\n", 120 | "\t\ta = dataset[i:(i+look_back), 0]\n", 121 | "\t\tdataX.append(a)\n", 122 | "\t\tdataY.append(dataset[i + look_back, 0])\n", 123 | "\treturn np.array(dataX), np.array(dataY)" 124 | ], 125 | "metadata": { 126 | "id": "a5PWkTy_rymw" 127 | }, 128 | "execution_count": 5, 129 | "outputs": [] 130 | }, 131 | { 132 | "cell_type": "code", 133 | "source": [ 134 | "# fix random seed for reproducibility\n", 135 | "np.random.seed(5)" 136 | ], 137 | "metadata": { 138 | "id": "i7EbCXasr9ju" 139 | }, 140 | "execution_count": 6, 141 | "outputs": [] 142 | }, 143 | { 144 | "cell_type": "code", 145 | "source": [ 146 | "# take close price column[5]\n", 147 | "all_y = df[5].values\n", 148 | "dataset=all_y.reshape(-1, 1)" 149 | ], 150 | "metadata": { 151 | "id": "4jtGVdaUsCCG" 152 | }, 153 | "execution_count": 7, 154 | "outputs": [] 155 | }, 156 | { 157 | "cell_type": "code", 158 | "source": [ 159 | "# take close price column[5]\n", 160 | "all_y = df[5].values\n", 161 | "dataset=all_y.reshape(-1, 1)\n", 162 | "\n", 163 | "# normalize the dataset\n", 164 | "scaler = MinMaxScaler(feature_range=(0, 1))\n", 165 | "dataset = scaler.fit_transform(dataset)" 166 | ], 167 | "metadata": { 168 | "id": "qfjD1xsdsFUm" 169 | }, 170 | "execution_count": 8, 171 | "outputs": [] 172 | }, 173 | { 174 | "cell_type": "code", 175 | "source": [ 176 | "# split into train and test sets, 50% test data, 50% training data\n", 177 | "train_size = int(len(dataset) * 0.5)\n", 178 | "test_size = len(dataset) - train_size\n", 179 | "train, test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]" 180 | ], 181 | "metadata": { 182 | "id": "KNMdyLtEskxx" 183 | }, 184 | "execution_count": 9, 185 | "outputs": [] 186 | }, 187 | { 188 | "cell_type": "code", 189 | "source": [ 190 | "# reshape into X=t and Y=t+1, timestep 240\n", 191 | "look_back = 240\n", 192 | "trainX, trainY = create_dataset(train, look_back)\n", 193 | "testX, testY = create_dataset(test, look_back)" 194 | ], 195 | "metadata": { 196 | "id": "TGc6gEAisk0f" 197 | }, 198 | "execution_count": 10, 199 | "outputs": [] 200 | }, 201 | { 202 | "cell_type": "code", 203 | "source": [ 204 | "# reshape input to be [samples, time steps, features]\n", 205 | "trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))\n", 206 | "testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))" 207 | ], 208 | "metadata": { 209 | "id": "56Zv-8oOsk3m" 210 | }, 211 | "execution_count": 11, 212 | "outputs": [] 213 | }, 214 | { 215 | "cell_type": "code", 216 | "source": [ 217 | "# create and fit the LSTM network, optimizer=adam, 25 neurons, dropout 0.1\n", 218 | "model = Sequential()\n", 219 | "model.add(LSTM(25, input_shape=(1, look_back)))\n", 220 | "model.add(Dropout(0.1))\n", 221 | "model.add(Dense(1))\n", 222 | "model.compile(loss='mse', optimizer='adam')\n", 223 | "model.fit(trainX, trainY, epochs=20, batch_size=240, verbose=1)" 224 | ], 225 | "metadata": { 226 | "colab": { 227 | "base_uri": "https://localhost:8080/" 228 | }, 229 | "id": "BbqCQ1yPsrcH", 230 | "outputId": "a3cb729b-a3b0-4df4-d478-28b0a8b396f6" 231 | }, 232 | "execution_count": 12, 233 | "outputs": [ 234 | { 235 | "output_type": "stream", 236 | "name": "stdout", 237 | "text": [ 238 | "Epoch 1/20\n", 239 | "10/10 [==============================] - 3s 7ms/step - loss: 0.0060\n", 240 | "Epoch 2/20\n", 241 | "10/10 [==============================] - 0s 5ms/step - loss: 0.0019\n", 242 | "Epoch 3/20\n", 243 | "10/10 [==============================] - 0s 4ms/step - loss: 0.0013\n", 244 | "Epoch 4/20\n", 245 | "10/10 [==============================] - 0s 10ms/step - loss: 0.0010\n", 246 | "Epoch 5/20\n", 247 | "10/10 [==============================] - 0s 10ms/step - loss: 7.3312e-04\n", 248 | "Epoch 6/20\n", 249 | "10/10 [==============================] - 0s 11ms/step - loss: 6.2153e-04\n", 250 | "Epoch 7/20\n", 251 | "10/10 [==============================] - 0s 10ms/step - loss: 5.4827e-04\n", 252 | "Epoch 8/20\n", 253 | "10/10 [==============================] - 0s 13ms/step - loss: 4.9733e-04\n", 254 | "Epoch 9/20\n", 255 | "10/10 [==============================] - 0s 8ms/step - loss: 4.8755e-04\n", 256 | "Epoch 10/20\n", 257 | "10/10 [==============================] - 0s 8ms/step - loss: 4.4003e-04\n", 258 | "Epoch 11/20\n", 259 | "10/10 [==============================] - 0s 5ms/step - loss: 3.9734e-04\n", 260 | "Epoch 12/20\n", 261 | "10/10 [==============================] - 0s 4ms/step - loss: 3.7042e-04\n", 262 | "Epoch 13/20\n", 263 | "10/10 [==============================] - 0s 4ms/step - loss: 3.6348e-04\n", 264 | "Epoch 14/20\n", 265 | "10/10 [==============================] - 0s 5ms/step - loss: 3.4665e-04\n", 266 | "Epoch 15/20\n", 267 | "10/10 [==============================] - 0s 5ms/step - loss: 3.1516e-04\n", 268 | "Epoch 16/20\n", 269 | "10/10 [==============================] - 0s 5ms/step - loss: 3.0348e-04\n", 270 | "Epoch 17/20\n", 271 | "10/10 [==============================] - 0s 5ms/step - loss: 2.9378e-04\n", 272 | "Epoch 18/20\n", 273 | "10/10 [==============================] - 0s 5ms/step - loss: 2.8015e-04\n", 274 | "Epoch 19/20\n", 275 | "10/10 [==============================] - 0s 5ms/step - loss: 2.6199e-04\n", 276 | "Epoch 20/20\n", 277 | "10/10 [==============================] - 0s 5ms/step - loss: 2.6265e-04\n" 278 | ] 279 | }, 280 | { 281 | "output_type": "execute_result", 282 | "data": { 283 | "text/plain": [ 284 | "" 285 | ] 286 | }, 287 | "metadata": {}, 288 | "execution_count": 12 289 | } 290 | ] 291 | }, 292 | { 293 | "cell_type": "code", 294 | "source": [ 295 | "# make predictions\n", 296 | "trainPredict = model.predict(trainX)\n", 297 | "testPredict = model.predict(testX)" 298 | ], 299 | "metadata": { 300 | "id": "ZfzhbSXusren" 301 | }, 302 | "execution_count": 13, 303 | "outputs": [] 304 | }, 305 | { 306 | "cell_type": "code", 307 | "source": [ 308 | "trainPredict" 309 | ], 310 | "metadata": { 311 | "colab": { 312 | "base_uri": "https://localhost:8080/" 313 | }, 314 | "id": "2lhYVWWksrhO", 315 | "outputId": "67442fbb-a72b-4c20-ce35-d542fdd7fcdf" 316 | }, 317 | "execution_count": 14, 318 | "outputs": [ 319 | { 320 | "output_type": "execute_result", 321 | "data": { 322 | "text/plain": [ 323 | "array([[0.11482746],\n", 324 | " [0.11490844],\n", 325 | " [0.11595166],\n", 326 | " ...,\n", 327 | " [0.15892781],\n", 328 | " [0.15970123],\n", 329 | " [0.16205542]], dtype=float32)" 330 | ] 331 | }, 332 | "metadata": {}, 333 | "execution_count": 14 334 | } 335 | ] 336 | }, 337 | { 338 | "cell_type": "code", 339 | "source": [ 340 | "testPredict" 341 | ], 342 | "metadata": { 343 | "colab": { 344 | "base_uri": "https://localhost:8080/" 345 | }, 346 | "id": "HTwEaLNss9ov", 347 | "outputId": "bd75745f-9632-4b3b-ccc6-a0af514cb267" 348 | }, 349 | "execution_count": 15, 350 | "outputs": [ 351 | { 352 | "output_type": "execute_result", 353 | "data": { 354 | "text/plain": [ 355 | "array([[0.15497756],\n", 356 | " [0.15336645],\n", 357 | " [0.15448435],\n", 358 | " ...,\n", 359 | " [0.6446615 ],\n", 360 | " [0.6525498 ],\n", 361 | " [0.65636975]], dtype=float32)" 362 | ] 363 | }, 364 | "metadata": {}, 365 | "execution_count": 15 366 | } 367 | ] 368 | }, 369 | { 370 | "cell_type": "code", 371 | "source": [ 372 | "# invert predictions\n", 373 | "trainPredict = scaler.inverse_transform(trainPredict)\n", 374 | "trainY = scaler.inverse_transform([trainY])\n", 375 | "testPredict = scaler.inverse_transform(testPredict)\n", 376 | "testY = scaler.inverse_transform([testY])" 377 | ], 378 | "metadata": { 379 | "id": "iqpKkHvRs-_d" 380 | }, 381 | "execution_count": 16, 382 | "outputs": [] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "source": [ 387 | "# calculate root mean squared error\n", 388 | "trainScore = math.sqrt(mean_squared_error(trainY[0], trainPredict[:,0]))\n", 389 | "print('Train Score: %.2f RMSE' % (trainScore))\n", 390 | "testScore = math.sqrt(mean_squared_error(testY[0], testPredict[:,0]))\n", 391 | "print('Test Score: %.2f RMSE' % (testScore))" 392 | ], 393 | "metadata": { 394 | "colab": { 395 | "base_uri": "https://localhost:8080/" 396 | }, 397 | "id": "HzZbZSiMtBV-", 398 | "outputId": "af8ce5cd-91b1-49a7-b0bc-8d34f0b93ffd" 399 | }, 400 | "execution_count": 17, 401 | "outputs": [ 402 | { 403 | "output_type": "stream", 404 | "name": "stdout", 405 | "text": [ 406 | "Train Score: 1.38 RMSE\n", 407 | "Test Score: 11.82 RMSE\n" 408 | ] 409 | } 410 | ] 411 | }, 412 | { 413 | "cell_type": "code", 414 | "source": [ 415 | "# shift train predictions for plotting\n", 416 | "trainPredictPlot = np.empty_like(dataset)\n", 417 | "trainPredictPlot[:, :] = np.nan\n", 418 | "trainPredictPlot[look_back:len(trainPredict)+look_back, :] = trainPredict" 419 | ], 420 | "metadata": { 421 | "id": "FVfU8pvctDNP" 422 | }, 423 | "execution_count": 18, 424 | "outputs": [] 425 | }, 426 | { 427 | "cell_type": "code", 428 | "source": [ 429 | "# shift test predictions for plotting\n", 430 | "testPredictPlot = np.empty_like(dataset)\n", 431 | "testPredictPlot[:, :] = np.nan\n", 432 | "testPredictPlot[len(trainPredict)+(look_back*2)+1:len(dataset)-1, :] = testPredict" 433 | ], 434 | "metadata": { 435 | "id": "sz-hs9BTtFYe" 436 | }, 437 | "execution_count": 19, 438 | "outputs": [] 439 | }, 440 | { 441 | "cell_type": "code", 442 | "source": [ 443 | "# plot baseline and predictions\n", 444 | "plt.plot(scaler.inverse_transform(dataset))\n", 445 | "plt.plot(trainPredictPlot)\n", 446 | "print('testPrices:')\n", 447 | "testPrices=scaler.inverse_transform(dataset[test_size+look_back:])" 448 | ], 449 | "metadata": { 450 | "colab": { 451 | "base_uri": "https://localhost:8080/", 452 | "height": 284 453 | }, 454 | "id": "9qa_shrstHGu", 455 | "outputId": "8455d889-a07f-4c75-c3e9-df05c59d75d9" 456 | }, 457 | "execution_count": 20, 458 | "outputs": [ 459 | { 460 | "output_type": "stream", 461 | "name": "stdout", 462 | "text": [ 463 | "testPrices:\n" 464 | ] 465 | }, 466 | { 467 | "output_type": "display_data", 468 | "data": { 469 | "image/png": "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\n", 470 | "text/plain": [ 471 | "
" 472 | ] 473 | }, 474 | "metadata": { 475 | "needs_background": "light" 476 | } 477 | } 478 | ] 479 | }, 480 | { 481 | "cell_type": "code", 482 | "source": [ 483 | "print('testPredictions:')\n", 484 | "print(testPredict)" 485 | ], 486 | "metadata": { 487 | "colab": { 488 | "base_uri": "https://localhost:8080/" 489 | }, 490 | "id": "d3GE7v1LtJEG", 491 | "outputId": "b7102d9a-b9d7-4169-83b1-ad96a7e16284" 492 | }, 493 | "execution_count": 21, 494 | "outputs": [ 495 | { 496 | "output_type": "stream", 497 | "name": "stdout", 498 | "text": [ 499 | "testPredictions:\n", 500 | "[[27.462803]\n", 501 | " [27.291517]\n", 502 | " [27.41037 ]\n", 503 | " ...\n", 504 | " [79.52366 ]\n", 505 | " [80.36231 ]\n", 506 | " [80.768425]]\n" 507 | ] 508 | } 509 | ] 510 | }, 511 | { 512 | "cell_type": "code", 513 | "source": [ 514 | "# export prediction and actual prices\n", 515 | "df = pd.DataFrame(data={\"prediction\": np.around(list(testPredict.reshape(-1)), decimals=2), \"test_price\": np.around(list(testPrices.reshape(-1)), decimals=2)})\n", 516 | "df.to_csv(\"lstm_result.csv\", sep=';', index=None)" 517 | ], 518 | "metadata": { 519 | "id": "ljiX4jy8tLZO" 520 | }, 521 | "execution_count": 22, 522 | "outputs": [] 523 | }, 524 | { 525 | "cell_type": "code", 526 | "source": [ 527 | "# plot the actual price, prediction in test data=red line, actual price=blue line\n", 528 | "plt.plot(testPredictPlot)\n", 529 | "plt.show()\n", 530 | "\n" 531 | ], 532 | "metadata": { 533 | "colab": { 534 | "base_uri": "https://localhost:8080/", 535 | "height": 265 536 | }, 537 | "id": "XR04UYeQtQmv", 538 | "outputId": "22093f6e-8052-4784-9102-c51233f30aad" 539 | }, 540 | "execution_count": 23, 541 | "outputs": [ 542 | { 543 | "output_type": "display_data", 544 | "data": { 545 | "image/png": "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\n", 546 | "text/plain": [ 547 | "
" 548 | ] 549 | }, 550 | "metadata": { 551 | "needs_background": "light" 552 | } 553 | } 554 | ] 555 | }, 556 | { 557 | "cell_type": "code", 558 | "source": [ 559 | "" 560 | ], 561 | "metadata": { 562 | "id": "U-y000iUtSv-" 563 | }, 564 | "execution_count": null, 565 | "outputs": [] 566 | } 567 | ] 568 | } -------------------------------------------------------------------------------- /Class 03.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "d5948857", 6 | "metadata": {}, 7 | "source": [ 8 | "# Tuple" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 1, 14 | "id": "4a4e43b0", 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "data": { 19 | "text/plain": [ 20 | "(1, 2, 34, 5, 'ai')" 21 | ] 22 | }, 23 | "execution_count": 1, 24 | "metadata": {}, 25 | "output_type": "execute_result" 26 | } 27 | ], 28 | "source": [ 29 | "tup = (1,2,34,5,'ai')\n", 30 | "tup" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 2, 36 | "id": "babadeb1", 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "data": { 41 | "text/plain": [ 42 | "1" 43 | ] 44 | }, 45 | "execution_count": 2, 46 | "metadata": {}, 47 | "output_type": "execute_result" 48 | } 49 | ], 50 | "source": [ 51 | "tup[0]" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 3, 57 | "id": "541b2d9b", 58 | "metadata": {}, 59 | "outputs": [ 60 | { 61 | "data": { 62 | "text/plain": [ 63 | "(2, 34)" 64 | ] 65 | }, 66 | "execution_count": 3, 67 | "metadata": {}, 68 | "output_type": "execute_result" 69 | } 70 | ], 71 | "source": [ 72 | "tup[1:3]" 73 | ] 74 | }, 75 | { 76 | "cell_type": "code", 77 | "execution_count": 4, 78 | "id": "3a4f9293", 79 | "metadata": {}, 80 | "outputs": [ 81 | { 82 | "ename": "TypeError", 83 | "evalue": "'tuple' object does not support item assignment", 84 | "output_type": "error", 85 | "traceback": [ 86 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 87 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 88 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtup\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'shakil'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", 89 | "\u001b[1;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" 90 | ] 91 | } 92 | ], 93 | "source": [ 94 | "tup[0] = 'shakil'" 95 | ] 96 | }, 97 | { 98 | "cell_type": "code", 99 | "execution_count": 5, 100 | "id": "5d8b9a39", 101 | "metadata": {}, 102 | "outputs": [ 103 | { 104 | "data": { 105 | "text/plain": [ 106 | "tuple" 107 | ] 108 | }, 109 | "execution_count": 5, 110 | "metadata": {}, 111 | "output_type": "execute_result" 112 | } 113 | ], 114 | "source": [ 115 | "l = list(tup)\n", 116 | "type(tup)" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": 6, 122 | "id": "e0c06cb2", 123 | "metadata": {}, 124 | "outputs": [ 125 | { 126 | "data": { 127 | "text/plain": [ 128 | "list" 129 | ] 130 | }, 131 | "execution_count": 6, 132 | "metadata": {}, 133 | "output_type": "execute_result" 134 | } 135 | ], 136 | "source": [ 137 | "type(l)" 138 | ] 139 | }, 140 | { 141 | "cell_type": "code", 142 | "execution_count": 7, 143 | "id": "606668c3", 144 | "metadata": {}, 145 | "outputs": [], 146 | "source": [ 147 | "l[0] = 'shakil'" 148 | ] 149 | }, 150 | { 151 | "cell_type": "code", 152 | "execution_count": 8, 153 | "id": "93e05298", 154 | "metadata": {}, 155 | "outputs": [ 156 | { 157 | "data": { 158 | "text/plain": [ 159 | "['shakil', 2, 34, 5, 'ai']" 160 | ] 161 | }, 162 | "execution_count": 8, 163 | "metadata": {}, 164 | "output_type": "execute_result" 165 | } 166 | ], 167 | "source": [ 168 | "l" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 9, 174 | "id": "f63e0c31", 175 | "metadata": {}, 176 | "outputs": [], 177 | "source": [ 178 | "tup2 = tuple(l)" 179 | ] 180 | }, 181 | { 182 | "cell_type": "code", 183 | "execution_count": 10, 184 | "id": "3c04f66d", 185 | "metadata": {}, 186 | "outputs": [ 187 | { 188 | "data": { 189 | "text/plain": [ 190 | "tuple" 191 | ] 192 | }, 193 | "execution_count": 10, 194 | "metadata": {}, 195 | "output_type": "execute_result" 196 | } 197 | ], 198 | "source": [ 199 | "type(tup2)" 200 | ] 201 | }, 202 | { 203 | "cell_type": "code", 204 | "execution_count": 11, 205 | "id": "c8534a77", 206 | "metadata": {}, 207 | "outputs": [ 208 | { 209 | "ename": "TypeError", 210 | "evalue": "'tuple' object does not support item assignment", 211 | "output_type": "error", 212 | "traceback": [ 213 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 214 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 215 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtup2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'ai'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", 216 | "\u001b[1;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" 217 | ] 218 | } 219 | ], 220 | "source": [ 221 | "tup2[0] = 'ai'" 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": 12, 227 | "id": "ee88f181", 228 | "metadata": {}, 229 | "outputs": [ 230 | { 231 | "data": { 232 | "text/plain": [ 233 | "(1, 2, 34, 5, 'ai')" 234 | ] 235 | }, 236 | "execution_count": 12, 237 | "metadata": {}, 238 | "output_type": "execute_result" 239 | } 240 | ], 241 | "source": [ 242 | "tup" 243 | ] 244 | }, 245 | { 246 | "cell_type": "code", 247 | "execution_count": 13, 248 | "id": "294a888f", 249 | "metadata": {}, 250 | "outputs": [], 251 | "source": [ 252 | "tup = tup+(50,)" 253 | ] 254 | }, 255 | { 256 | "cell_type": "code", 257 | "execution_count": 14, 258 | "id": "66ceefdc", 259 | "metadata": {}, 260 | "outputs": [ 261 | { 262 | "data": { 263 | "text/plain": [ 264 | "(1, 2, 34, 5, 'ai', 50)" 265 | ] 266 | }, 267 | "execution_count": 14, 268 | "metadata": {}, 269 | "output_type": "execute_result" 270 | } 271 | ], 272 | "source": [ 273 | "tup" 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": 15, 279 | "id": "1485999a", 280 | "metadata": {}, 281 | "outputs": [], 282 | "source": [ 283 | "l1 = ['shakil', 2, 34, 5, 5, 'ai']\n", 284 | "t1 = ('shakil', 2, 34, 5, 5,'ai')" 285 | ] 286 | }, 287 | { 288 | "cell_type": "code", 289 | "execution_count": 16, 290 | "id": "8c0ecb40", 291 | "metadata": {}, 292 | "outputs": [ 293 | { 294 | "data": { 295 | "text/plain": [ 296 | "104" 297 | ] 298 | }, 299 | "execution_count": 16, 300 | "metadata": {}, 301 | "output_type": "execute_result" 302 | } 303 | ], 304 | "source": [ 305 | "import sys\n", 306 | "sys.getsizeof(l1)" 307 | ] 308 | }, 309 | { 310 | "cell_type": "code", 311 | "execution_count": 17, 312 | "id": "9bdc0788", 313 | "metadata": {}, 314 | "outputs": [ 315 | { 316 | "data": { 317 | "text/plain": [ 318 | "88" 319 | ] 320 | }, 321 | "execution_count": 17, 322 | "metadata": {}, 323 | "output_type": "execute_result" 324 | } 325 | ], 326 | "source": [ 327 | "sys.getsizeof(t1)" 328 | ] 329 | }, 330 | { 331 | "cell_type": "code", 332 | "execution_count": 18, 333 | "id": "76f038d5", 334 | "metadata": {}, 335 | "outputs": [ 336 | { 337 | "data": { 338 | "text/plain": [ 339 | "2" 340 | ] 341 | }, 342 | "execution_count": 18, 343 | "metadata": {}, 344 | "output_type": "execute_result" 345 | } 346 | ], 347 | "source": [ 348 | "t1.count(5)" 349 | ] 350 | }, 351 | { 352 | "cell_type": "code", 353 | "execution_count": 19, 354 | "id": "fd24d4a9", 355 | "metadata": {}, 356 | "outputs": [ 357 | { 358 | "data": { 359 | "text/plain": [ 360 | "3" 361 | ] 362 | }, 363 | "execution_count": 19, 364 | "metadata": {}, 365 | "output_type": "execute_result" 366 | } 367 | ], 368 | "source": [ 369 | "t1.index(5)" 370 | ] 371 | }, 372 | { 373 | "cell_type": "code", 374 | "execution_count": 20, 375 | "id": "8505309d", 376 | "metadata": {}, 377 | "outputs": [], 378 | "source": [ 379 | "x = (50,)" 380 | ] 381 | }, 382 | { 383 | "cell_type": "code", 384 | "execution_count": 21, 385 | "id": "a8140819", 386 | "metadata": {}, 387 | "outputs": [ 388 | { 389 | "data": { 390 | "text/plain": [ 391 | "tuple" 392 | ] 393 | }, 394 | "execution_count": 21, 395 | "metadata": {}, 396 | "output_type": "execute_result" 397 | } 398 | ], 399 | "source": [ 400 | "type(x)" 401 | ] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "execution_count": 22, 406 | "id": "fee44542", 407 | "metadata": {}, 408 | "outputs": [], 409 | "source": [ 410 | "y = [50]" 411 | ] 412 | }, 413 | { 414 | "cell_type": "code", 415 | "execution_count": 23, 416 | "id": "f6d1eb10", 417 | "metadata": {}, 418 | "outputs": [ 419 | { 420 | "data": { 421 | "text/plain": [ 422 | "list" 423 | ] 424 | }, 425 | "execution_count": 23, 426 | "metadata": {}, 427 | "output_type": "execute_result" 428 | } 429 | ], 430 | "source": [ 431 | "type(y)" 432 | ] 433 | }, 434 | { 435 | "cell_type": "code", 436 | "execution_count": 21, 437 | "id": "efb2b242", 438 | "metadata": {}, 439 | "outputs": [ 440 | { 441 | "data": { 442 | "image/png": "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\n", 443 | "text/plain": [ 444 | "
" 445 | ] 446 | }, 447 | "metadata": { 448 | "needs_background": "light" 449 | }, 450 | "output_type": "display_data" 451 | } 452 | ], 453 | "source": [ 454 | "import matplotlib.pyplot as plt\n", 455 | "y = [35, 25, 25, 15]\n", 456 | "z = [1,2,3,4]\n", 457 | "plt.bar(y,z)\n", 458 | "plt.show() " 459 | ] 460 | }, 461 | { 462 | "cell_type": "markdown", 463 | "id": "ec506839", 464 | "metadata": {}, 465 | "source": [ 466 | "# Set" 467 | ] 468 | }, 469 | { 470 | "cell_type": "code", 471 | "execution_count": 1, 472 | "id": "a5edc689", 473 | "metadata": {}, 474 | "outputs": [ 475 | { 476 | "ename": "TypeError", 477 | "evalue": "'set' object is not subscriptable", 478 | "output_type": "error", 479 | "traceback": [ 480 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 481 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 482 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0ms1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m6\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m7\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0ms1\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;31m#set() -> list(s1)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", 483 | "\u001b[1;31mTypeError\u001b[0m: 'set' object is not subscriptable" 484 | ] 485 | } 486 | ], 487 | "source": [ 488 | "s1 = {1,2,4,6,7,10}\n", 489 | "s1[2] #set() -> list(s1)" 490 | ] 491 | }, 492 | { 493 | "cell_type": "code", 494 | "execution_count": 25, 495 | "id": "aaee06b0", 496 | "metadata": {}, 497 | "outputs": [ 498 | { 499 | "data": { 500 | "text/plain": [ 501 | "{1, 2, 4, 6, 7, 10}" 502 | ] 503 | }, 504 | "execution_count": 25, 505 | "metadata": {}, 506 | "output_type": "execute_result" 507 | } 508 | ], 509 | "source": [ 510 | "s1" 511 | ] 512 | }, 513 | { 514 | "cell_type": "code", 515 | "execution_count": 4, 516 | "id": "29cd0bfc", 517 | "metadata": {}, 518 | "outputs": [ 519 | { 520 | "name": "stdout", 521 | "output_type": "stream", 522 | "text": [ 523 | "1\n", 524 | "2\n", 525 | "4\n", 526 | "6\n", 527 | "7\n", 528 | "10\n" 529 | ] 530 | } 531 | ], 532 | "source": [ 533 | "for N in s1:\n", 534 | " print(N)" 535 | ] 536 | }, 537 | { 538 | "cell_type": "code", 539 | "execution_count": 27, 540 | "id": "4275fec6", 541 | "metadata": {}, 542 | "outputs": [ 543 | { 544 | "name": "stdout", 545 | "output_type": "stream", 546 | "text": [ 547 | "No\n" 548 | ] 549 | } 550 | ], 551 | "source": [ 552 | "if 12 in s1:\n", 553 | " print('OK')\n", 554 | "else:\n", 555 | " print('No')" 556 | ] 557 | }, 558 | { 559 | "cell_type": "code", 560 | "execution_count": 28, 561 | "id": "850a86c7", 562 | "metadata": {}, 563 | "outputs": [ 564 | { 565 | "data": { 566 | "text/plain": [ 567 | "{1, 2, 4, 6, 7, 10}" 568 | ] 569 | }, 570 | "execution_count": 28, 571 | "metadata": {}, 572 | "output_type": "execute_result" 573 | } 574 | ], 575 | "source": [ 576 | "s1 = {1,2,2,4,6,7,10}\n", 577 | "s1" 578 | ] 579 | }, 580 | { 581 | "cell_type": "code", 582 | "execution_count": 29, 583 | "id": "7e336e68", 584 | "metadata": {}, 585 | "outputs": [], 586 | "source": [ 587 | "s1.add('Rajen')" 588 | ] 589 | }, 590 | { 591 | "cell_type": "code", 592 | "execution_count": 30, 593 | "id": "d1d253be", 594 | "metadata": {}, 595 | "outputs": [ 596 | { 597 | "data": { 598 | "text/plain": [ 599 | "{1, 10, 2, 4, 6, 7, 'Rajen'}" 600 | ] 601 | }, 602 | "execution_count": 30, 603 | "metadata": {}, 604 | "output_type": "execute_result" 605 | } 606 | ], 607 | "source": [ 608 | "s1" 609 | ] 610 | }, 611 | { 612 | "cell_type": "code", 613 | "execution_count": 31, 614 | "id": "55be9338", 615 | "metadata": {}, 616 | "outputs": [], 617 | "source": [ 618 | "l2 = list(s1)" 619 | ] 620 | }, 621 | { 622 | "cell_type": "code", 623 | "execution_count": 32, 624 | "id": "7decec04", 625 | "metadata": {}, 626 | "outputs": [ 627 | { 628 | "data": { 629 | "text/plain": [ 630 | "[1, 2, 4, 6, 7, 10, 'Rajen']" 631 | ] 632 | }, 633 | "execution_count": 32, 634 | "metadata": {}, 635 | "output_type": "execute_result" 636 | } 637 | ], 638 | "source": [ 639 | "l2" 640 | ] 641 | }, 642 | { 643 | "cell_type": "code", 644 | "execution_count": 33, 645 | "id": "4cb0cb49", 646 | "metadata": {}, 647 | "outputs": [], 648 | "source": [ 649 | "l2.append('TAREQ')" 650 | ] 651 | }, 652 | { 653 | "cell_type": "code", 654 | "execution_count": 34, 655 | "id": "40f8b8bb", 656 | "metadata": {}, 657 | "outputs": [ 658 | { 659 | "data": { 660 | "text/plain": [ 661 | "[1, 2, 4, 6, 7, 10, 'Rajen', 'TAREQ']" 662 | ] 663 | }, 664 | "execution_count": 34, 665 | "metadata": {}, 666 | "output_type": "execute_result" 667 | } 668 | ], 669 | "source": [ 670 | "l2" 671 | ] 672 | }, 673 | { 674 | "cell_type": "code", 675 | "execution_count": 35, 676 | "id": "bdcd3950", 677 | "metadata": {}, 678 | "outputs": [ 679 | { 680 | "data": { 681 | "text/plain": [ 682 | "[1, 2, 4, 6, 7, 10, 'Rajen', 'TAREQ']" 683 | ] 684 | }, 685 | "execution_count": 35, 686 | "metadata": {}, 687 | "output_type": "execute_result" 688 | } 689 | ], 690 | "source": [ 691 | "l2" 692 | ] 693 | }, 694 | { 695 | "cell_type": "code", 696 | "execution_count": 36, 697 | "id": "34391777", 698 | "metadata": {}, 699 | "outputs": [], 700 | "source": [ 701 | "l2.insert(3,'ai')" 702 | ] 703 | }, 704 | { 705 | "cell_type": "code", 706 | "execution_count": 37, 707 | "id": "eb10c8df", 708 | "metadata": {}, 709 | "outputs": [ 710 | { 711 | "data": { 712 | "text/plain": [ 713 | "[1, 2, 4, 'ai', 6, 7, 10, 'Rajen', 'TAREQ']" 714 | ] 715 | }, 716 | "execution_count": 37, 717 | "metadata": {}, 718 | "output_type": "execute_result" 719 | } 720 | ], 721 | "source": [ 722 | "l2" 723 | ] 724 | }, 725 | { 726 | "cell_type": "code", 727 | "execution_count": 38, 728 | "id": "1c00561a", 729 | "metadata": {}, 730 | "outputs": [], 731 | "source": [ 732 | "l2.append(15)" 733 | ] 734 | }, 735 | { 736 | "cell_type": "code", 737 | "execution_count": 39, 738 | "id": "2c27606f", 739 | "metadata": {}, 740 | "outputs": [ 741 | { 742 | "data": { 743 | "text/plain": [ 744 | "[1, 2, 4, 'ai', 6, 7, 10, 'Rajen', 'TAREQ', 15]" 745 | ] 746 | }, 747 | "execution_count": 39, 748 | "metadata": {}, 749 | "output_type": "execute_result" 750 | } 751 | ], 752 | "source": [ 753 | "l2" 754 | ] 755 | }, 756 | { 757 | "cell_type": "code", 758 | "execution_count": 40, 759 | "id": "8d1aa079", 760 | "metadata": {}, 761 | "outputs": [], 762 | "source": [ 763 | "l5 = [2,8,2,3]" 764 | ] 765 | }, 766 | { 767 | "cell_type": "code", 768 | "execution_count": 41, 769 | "id": "37c15ae3", 770 | "metadata": {}, 771 | "outputs": [], 772 | "source": [ 773 | "l5.append(1)" 774 | ] 775 | }, 776 | { 777 | "cell_type": "code", 778 | "execution_count": 42, 779 | "id": "f3ee90c7", 780 | "metadata": {}, 781 | "outputs": [ 782 | { 783 | "data": { 784 | "text/plain": [ 785 | "[2, 8, 2, 3, 1]" 786 | ] 787 | }, 788 | "execution_count": 42, 789 | "metadata": {}, 790 | "output_type": "execute_result" 791 | } 792 | ], 793 | "source": [ 794 | "l5" 795 | ] 796 | }, 797 | { 798 | "cell_type": "code", 799 | "execution_count": 43, 800 | "id": "de87dbfd", 801 | "metadata": {}, 802 | "outputs": [], 803 | "source": [ 804 | "l5.insert(3,40)" 805 | ] 806 | }, 807 | { 808 | "cell_type": "code", 809 | "execution_count": 44, 810 | "id": "3da51232", 811 | "metadata": {}, 812 | "outputs": [ 813 | { 814 | "data": { 815 | "text/plain": [ 816 | "[2, 8, 2, 40, 3, 1]" 817 | ] 818 | }, 819 | "execution_count": 44, 820 | "metadata": {}, 821 | "output_type": "execute_result" 822 | } 823 | ], 824 | "source": [ 825 | "l5" 826 | ] 827 | }, 828 | { 829 | "cell_type": "code", 830 | "execution_count": 45, 831 | "id": "5c13a6d9", 832 | "metadata": { 833 | "scrolled": true 834 | }, 835 | "outputs": [ 836 | { 837 | "data": { 838 | "text/plain": [ 839 | "728" 840 | ] 841 | }, 842 | "execution_count": 45, 843 | "metadata": {}, 844 | "output_type": "execute_result" 845 | } 846 | ], 847 | "source": [ 848 | "l1 = ['shakil', 2, 34, 5, 5, 'ai']\n", 849 | "t1 = ('shakil', 2, 34, 5, 5,'ai')\n", 850 | "s1 = {'shakil', 2, 34, 5, 5,'ai'}\n", 851 | "\n", 852 | "sys.getsizeof(s1)" 853 | ] 854 | }, 855 | { 856 | "cell_type": "code", 857 | "execution_count": 46, 858 | "id": "f15e7534", 859 | "metadata": {}, 860 | "outputs": [ 861 | { 862 | "data": { 863 | "text/plain": [ 864 | "{2, 34, 5, 'ai', 'shakil'}" 865 | ] 866 | }, 867 | "execution_count": 46, 868 | "metadata": {}, 869 | "output_type": "execute_result" 870 | } 871 | ], 872 | "source": [ 873 | "s1" 874 | ] 875 | }, 876 | { 877 | "cell_type": "code", 878 | "execution_count": 47, 879 | "id": "517aef7d", 880 | "metadata": {}, 881 | "outputs": [], 882 | "source": [ 883 | "s2 = {30,'ai'}\n", 884 | "\n", 885 | "s1.update(s2)" 886 | ] 887 | }, 888 | { 889 | "cell_type": "code", 890 | "execution_count": 48, 891 | "id": "cb1c1e79", 892 | "metadata": {}, 893 | "outputs": [ 894 | { 895 | "data": { 896 | "text/plain": [ 897 | "{2, 30, 34, 5, 'ai', 'shakil'}" 898 | ] 899 | }, 900 | "execution_count": 48, 901 | "metadata": {}, 902 | "output_type": "execute_result" 903 | } 904 | ], 905 | "source": [ 906 | "s1" 907 | ] 908 | }, 909 | { 910 | "cell_type": "code", 911 | "execution_count": 49, 912 | "id": "f6f1c8d1", 913 | "metadata": {}, 914 | "outputs": [ 915 | { 916 | "name": "stdout", 917 | "output_type": "stream", 918 | "text": [ 919 | "ok\n" 920 | ] 921 | } 922 | ], 923 | "source": [ 924 | "if 'ai' in s1:\n", 925 | " print('ok')" 926 | ] 927 | }, 928 | { 929 | "cell_type": "code", 930 | "execution_count": 50, 931 | "id": "ca129805", 932 | "metadata": {}, 933 | "outputs": [], 934 | "source": [ 935 | "#set operation\n", 936 | "\n", 937 | "s2 = s2.union(s1)" 938 | ] 939 | }, 940 | { 941 | "cell_type": "code", 942 | "execution_count": 51, 943 | "id": "9313c7a7", 944 | "metadata": {}, 945 | "outputs": [ 946 | { 947 | "data": { 948 | "text/plain": [ 949 | "{2, 30, 34, 5, 'ai', 'shakil'}" 950 | ] 951 | }, 952 | "execution_count": 51, 953 | "metadata": {}, 954 | "output_type": "execute_result" 955 | } 956 | ], 957 | "source": [ 958 | "s2" 959 | ] 960 | }, 961 | { 962 | "cell_type": "code", 963 | "execution_count": 52, 964 | "id": "420f0260", 965 | "metadata": {}, 966 | "outputs": [], 967 | "source": [ 968 | "s3 = {5,'ai',10}" 969 | ] 970 | }, 971 | { 972 | "cell_type": "code", 973 | "execution_count": 53, 974 | "id": "209c260f", 975 | "metadata": {}, 976 | "outputs": [], 977 | "source": [ 978 | "s2 = s2.intersection(s3)" 979 | ] 980 | }, 981 | { 982 | "cell_type": "code", 983 | "execution_count": 54, 984 | "id": "1cedb34c", 985 | "metadata": {}, 986 | "outputs": [ 987 | { 988 | "data": { 989 | "text/plain": [ 990 | "{5, 'ai'}" 991 | ] 992 | }, 993 | "execution_count": 54, 994 | "metadata": {}, 995 | "output_type": "execute_result" 996 | } 997 | ], 998 | "source": [ 999 | "s2" 1000 | ] 1001 | }, 1002 | { 1003 | "cell_type": "code", 1004 | "execution_count": 55, 1005 | "id": "debd7c2b", 1006 | "metadata": {}, 1007 | "outputs": [ 1008 | { 1009 | "data": { 1010 | "text/plain": [ 1011 | "{10, 2, 30, 34, 5, 'ai', 'shakil'}" 1012 | ] 1013 | }, 1014 | "execution_count": 55, 1015 | "metadata": {}, 1016 | "output_type": "execute_result" 1017 | } 1018 | ], 1019 | "source": [ 1020 | "s1 | s3 #union sign" 1021 | ] 1022 | }, 1023 | { 1024 | "cell_type": "code", 1025 | "execution_count": 56, 1026 | "id": "46b86dd4", 1027 | "metadata": {}, 1028 | "outputs": [ 1029 | { 1030 | "data": { 1031 | "text/plain": [ 1032 | "{5, 'ai'}" 1033 | ] 1034 | }, 1035 | "execution_count": 56, 1036 | "metadata": {}, 1037 | "output_type": "execute_result" 1038 | } 1039 | ], 1040 | "source": [ 1041 | "s2" 1042 | ] 1043 | }, 1044 | { 1045 | "cell_type": "code", 1046 | "execution_count": 57, 1047 | "id": "c95c4a64", 1048 | "metadata": {}, 1049 | "outputs": [ 1050 | { 1051 | "data": { 1052 | "text/plain": [ 1053 | "'ai'" 1054 | ] 1055 | }, 1056 | "execution_count": 57, 1057 | "metadata": {}, 1058 | "output_type": "execute_result" 1059 | } 1060 | ], 1061 | "source": [ 1062 | "s2.pop()" 1063 | ] 1064 | }, 1065 | { 1066 | "cell_type": "code", 1067 | "execution_count": 58, 1068 | "id": "b09d8d58", 1069 | "metadata": {}, 1070 | "outputs": [ 1071 | { 1072 | "data": { 1073 | "text/plain": [ 1074 | "{5}" 1075 | ] 1076 | }, 1077 | "execution_count": 58, 1078 | "metadata": {}, 1079 | "output_type": "execute_result" 1080 | } 1081 | ], 1082 | "source": [ 1083 | "s2" 1084 | ] 1085 | }, 1086 | { 1087 | "cell_type": "code", 1088 | "execution_count": 59, 1089 | "id": "e342f7a9", 1090 | "metadata": {}, 1091 | "outputs": [], 1092 | "source": [ 1093 | "s2.clear()" 1094 | ] 1095 | }, 1096 | { 1097 | "cell_type": "code", 1098 | "execution_count": 60, 1099 | "id": "d5a9d5d0", 1100 | "metadata": {}, 1101 | "outputs": [ 1102 | { 1103 | "data": { 1104 | "text/plain": [ 1105 | "set()" 1106 | ] 1107 | }, 1108 | "execution_count": 60, 1109 | "metadata": {}, 1110 | "output_type": "execute_result" 1111 | } 1112 | ], 1113 | "source": [ 1114 | "s2" 1115 | ] 1116 | }, 1117 | { 1118 | "cell_type": "markdown", 1119 | "id": "a3b893e1", 1120 | "metadata": {}, 1121 | "source": [ 1122 | "# Array" 1123 | ] 1124 | }, 1125 | { 1126 | "cell_type": "code", 1127 | "execution_count": 61, 1128 | "id": "b58c6422", 1129 | "metadata": {}, 1130 | "outputs": [], 1131 | "source": [ 1132 | "l4 = ['all',4,5,True]" 1133 | ] 1134 | }, 1135 | { 1136 | "cell_type": "code", 1137 | "execution_count": 62, 1138 | "id": "99803fc6", 1139 | "metadata": {}, 1140 | "outputs": [], 1141 | "source": [ 1142 | "import array as arr\n", 1143 | "\n", 1144 | "a1 = arr.array('f',[1,2,3,1.5])" 1145 | ] 1146 | }, 1147 | { 1148 | "cell_type": "code", 1149 | "execution_count": 63, 1150 | "id": "a6a0f77a", 1151 | "metadata": {}, 1152 | "outputs": [ 1153 | { 1154 | "data": { 1155 | "text/plain": [ 1156 | "array('f', [1.0, 2.0, 3.0, 1.5])" 1157 | ] 1158 | }, 1159 | "execution_count": 63, 1160 | "metadata": {}, 1161 | "output_type": "execute_result" 1162 | } 1163 | ], 1164 | "source": [ 1165 | "a1" 1166 | ] 1167 | }, 1168 | { 1169 | "cell_type": "code", 1170 | "execution_count": 64, 1171 | "id": "4690fe71", 1172 | "metadata": {}, 1173 | "outputs": [], 1174 | "source": [ 1175 | "a1.insert(4,10)" 1176 | ] 1177 | }, 1178 | { 1179 | "cell_type": "code", 1180 | "execution_count": 65, 1181 | "id": "8dc206b8", 1182 | "metadata": {}, 1183 | "outputs": [ 1184 | { 1185 | "data": { 1186 | "text/plain": [ 1187 | "array('f', [1.0, 2.0, 3.0, 1.5, 10.0])" 1188 | ] 1189 | }, 1190 | "execution_count": 65, 1191 | "metadata": {}, 1192 | "output_type": "execute_result" 1193 | } 1194 | ], 1195 | "source": [ 1196 | "a1" 1197 | ] 1198 | }, 1199 | { 1200 | "cell_type": "code", 1201 | "execution_count": 66, 1202 | "id": "85cfe95d", 1203 | "metadata": {}, 1204 | "outputs": [], 1205 | "source": [ 1206 | "a1.remove(10)" 1207 | ] 1208 | }, 1209 | { 1210 | "cell_type": "code", 1211 | "execution_count": 67, 1212 | "id": "d7b59a65", 1213 | "metadata": {}, 1214 | "outputs": [ 1215 | { 1216 | "data": { 1217 | "text/plain": [ 1218 | "array('f', [1.0, 2.0, 3.0, 1.5])" 1219 | ] 1220 | }, 1221 | "execution_count": 67, 1222 | "metadata": {}, 1223 | "output_type": "execute_result" 1224 | } 1225 | ], 1226 | "source": [ 1227 | "a1" 1228 | ] 1229 | }, 1230 | { 1231 | "cell_type": "markdown", 1232 | "id": "a175aed8", 1233 | "metadata": {}, 1234 | "source": [ 1235 | "# Numpy" 1236 | ] 1237 | }, 1238 | { 1239 | "cell_type": "code", 1240 | "execution_count": 68, 1241 | "id": "cc2c77de", 1242 | "metadata": {}, 1243 | "outputs": [ 1244 | { 1245 | "data": { 1246 | "text/plain": [ 1247 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 1248 | ] 1249 | }, 1250 | "execution_count": 68, 1251 | "metadata": {}, 1252 | "output_type": "execute_result" 1253 | } 1254 | ], 1255 | "source": [ 1256 | "import numpy as np\n", 1257 | "a2 = np.arange(10)\n", 1258 | "a2" 1259 | ] 1260 | }, 1261 | { 1262 | "cell_type": "code", 1263 | "execution_count": 69, 1264 | "id": "862b8940", 1265 | "metadata": {}, 1266 | "outputs": [ 1267 | { 1268 | "data": { 1269 | "text/plain": [ 1270 | "numpy.ndarray" 1271 | ] 1272 | }, 1273 | "execution_count": 69, 1274 | "metadata": {}, 1275 | "output_type": "execute_result" 1276 | } 1277 | ], 1278 | "source": [ 1279 | "type(a2)" 1280 | ] 1281 | }, 1282 | { 1283 | "cell_type": "code", 1284 | "execution_count": 70, 1285 | "id": "79f738d2", 1286 | "metadata": {}, 1287 | "outputs": [ 1288 | { 1289 | "data": { 1290 | "text/plain": [ 1291 | "array([[[ 0, 1],\n", 1292 | " [ 2, 3],\n", 1293 | " [ 4, 5]],\n", 1294 | "\n", 1295 | " [[ 6, 7],\n", 1296 | " [ 8, 9],\n", 1297 | " [10, 11]]])" 1298 | ] 1299 | }, 1300 | "execution_count": 70, 1301 | "metadata": {}, 1302 | "output_type": "execute_result" 1303 | } 1304 | ], 1305 | "source": [ 1306 | "a3 = np.arange(12).reshape(2,3,2)\n", 1307 | "a3" 1308 | ] 1309 | }, 1310 | { 1311 | "cell_type": "code", 1312 | "execution_count": 71, 1313 | "id": "3a0eb26f", 1314 | "metadata": {}, 1315 | "outputs": [ 1316 | { 1317 | "data": { 1318 | "text/plain": [ 1319 | "3" 1320 | ] 1321 | }, 1322 | "execution_count": 71, 1323 | "metadata": {}, 1324 | "output_type": "execute_result" 1325 | } 1326 | ], 1327 | "source": [ 1328 | "a3.ndim" 1329 | ] 1330 | }, 1331 | { 1332 | "cell_type": "markdown", 1333 | "id": "4e5edc97", 1334 | "metadata": {}, 1335 | "source": [ 1336 | "# Dictionary" 1337 | ] 1338 | }, 1339 | { 1340 | "cell_type": "code", 1341 | "execution_count": 72, 1342 | "id": "ec0b1abd", 1343 | "metadata": {}, 1344 | "outputs": [], 1345 | "source": [ 1346 | "d1 = {\n", 1347 | " 'name':['Touhidul Islam','HASIBUL'],\n", 1348 | " 'age' : [25],\n", 1349 | " 'varsity' : ['EWU','VARSITY']\n", 1350 | "}" 1351 | ] 1352 | }, 1353 | { 1354 | "cell_type": "code", 1355 | "execution_count": 73, 1356 | "id": "e1607d5f", 1357 | "metadata": {}, 1358 | "outputs": [ 1359 | { 1360 | "data": { 1361 | "text/plain": [ 1362 | "dict" 1363 | ] 1364 | }, 1365 | "execution_count": 73, 1366 | "metadata": {}, 1367 | "output_type": "execute_result" 1368 | } 1369 | ], 1370 | "source": [ 1371 | "type(d1)" 1372 | ] 1373 | }, 1374 | { 1375 | "cell_type": "code", 1376 | "execution_count": 74, 1377 | "id": "4367c975", 1378 | "metadata": {}, 1379 | "outputs": [ 1380 | { 1381 | "data": { 1382 | "text/plain": [ 1383 | "['Touhidul Islam', 'HASIBUL']" 1384 | ] 1385 | }, 1386 | "execution_count": 74, 1387 | "metadata": {}, 1388 | "output_type": "execute_result" 1389 | } 1390 | ], 1391 | "source": [ 1392 | "d1['name']" 1393 | ] 1394 | }, 1395 | { 1396 | "cell_type": "code", 1397 | "execution_count": 75, 1398 | "id": "50c5c8dd", 1399 | "metadata": {}, 1400 | "outputs": [ 1401 | { 1402 | "data": { 1403 | "text/plain": [ 1404 | "[25]" 1405 | ] 1406 | }, 1407 | "execution_count": 75, 1408 | "metadata": {}, 1409 | "output_type": "execute_result" 1410 | } 1411 | ], 1412 | "source": [ 1413 | "d1['age']" 1414 | ] 1415 | }, 1416 | { 1417 | "cell_type": "code", 1418 | "execution_count": 76, 1419 | "id": "cd7dfb85", 1420 | "metadata": {}, 1421 | "outputs": [ 1422 | { 1423 | "data": { 1424 | "text/plain": [ 1425 | "['EWU', 'VARSITY']" 1426 | ] 1427 | }, 1428 | "execution_count": 76, 1429 | "metadata": {}, 1430 | "output_type": "execute_result" 1431 | } 1432 | ], 1433 | "source": [ 1434 | "d1['varsity']" 1435 | ] 1436 | }, 1437 | { 1438 | "cell_type": "code", 1439 | "execution_count": 77, 1440 | "id": "309e3f28", 1441 | "metadata": {}, 1442 | "outputs": [ 1443 | { 1444 | "data": { 1445 | "text/plain": [ 1446 | "dict_keys(['name', 'age', 'varsity'])" 1447 | ] 1448 | }, 1449 | "execution_count": 77, 1450 | "metadata": {}, 1451 | "output_type": "execute_result" 1452 | } 1453 | ], 1454 | "source": [ 1455 | "d1.keys()" 1456 | ] 1457 | }, 1458 | { 1459 | "cell_type": "code", 1460 | "execution_count": 78, 1461 | "id": "7e39164c", 1462 | "metadata": {}, 1463 | "outputs": [ 1464 | { 1465 | "data": { 1466 | "text/plain": [ 1467 | "dict_values([['Touhidul Islam', 'HASIBUL'], [25], ['EWU', 'VARSITY']])" 1468 | ] 1469 | }, 1470 | "execution_count": 78, 1471 | "metadata": {}, 1472 | "output_type": "execute_result" 1473 | } 1474 | ], 1475 | "source": [ 1476 | "d1.values()" 1477 | ] 1478 | }, 1479 | { 1480 | "cell_type": "code", 1481 | "execution_count": 79, 1482 | "id": "b569e7cc", 1483 | "metadata": {}, 1484 | "outputs": [], 1485 | "source": [ 1486 | "#change\n", 1487 | "d1['age'] = [25,26]" 1488 | ] 1489 | }, 1490 | { 1491 | "cell_type": "code", 1492 | "execution_count": 80, 1493 | "id": "e4cb1c76", 1494 | "metadata": {}, 1495 | "outputs": [ 1496 | { 1497 | "data": { 1498 | "text/plain": [ 1499 | "{'name': ['Touhidul Islam', 'HASIBUL'],\n", 1500 | " 'age': [25, 26],\n", 1501 | " 'varsity': ['EWU', 'VARSITY']}" 1502 | ] 1503 | }, 1504 | "execution_count": 80, 1505 | "metadata": {}, 1506 | "output_type": "execute_result" 1507 | } 1508 | ], 1509 | "source": [ 1510 | "d1" 1511 | ] 1512 | }, 1513 | { 1514 | "cell_type": "code", 1515 | "execution_count": 81, 1516 | "id": "8dc0235d", 1517 | "metadata": {}, 1518 | "outputs": [], 1519 | "source": [ 1520 | "d1.update({'age':[27,28]})" 1521 | ] 1522 | }, 1523 | { 1524 | "cell_type": "code", 1525 | "execution_count": 82, 1526 | "id": "cddb169a", 1527 | "metadata": {}, 1528 | "outputs": [ 1529 | { 1530 | "data": { 1531 | "text/plain": [ 1532 | "{'name': ['Touhidul Islam', 'HASIBUL'],\n", 1533 | " 'age': [27, 28],\n", 1534 | " 'varsity': ['EWU', 'VARSITY']}" 1535 | ] 1536 | }, 1537 | "execution_count": 82, 1538 | "metadata": {}, 1539 | "output_type": "execute_result" 1540 | } 1541 | ], 1542 | "source": [ 1543 | "d1" 1544 | ] 1545 | }, 1546 | { 1547 | "cell_type": "code", 1548 | "execution_count": 83, 1549 | "id": "26d79d2c", 1550 | "metadata": {}, 1551 | "outputs": [], 1552 | "source": [ 1553 | "d1['dept'] = ['cse','eee'] #ADD" 1554 | ] 1555 | }, 1556 | { 1557 | "cell_type": "code", 1558 | "execution_count": 84, 1559 | "id": "122051d1", 1560 | "metadata": {}, 1561 | "outputs": [ 1562 | { 1563 | "data": { 1564 | "text/plain": [ 1565 | "{'name': ['Touhidul Islam', 'HASIBUL'],\n", 1566 | " 'age': [27, 28],\n", 1567 | " 'varsity': ['EWU', 'VARSITY'],\n", 1568 | " 'dept': ['cse', 'eee']}" 1569 | ] 1570 | }, 1571 | "execution_count": 84, 1572 | "metadata": {}, 1573 | "output_type": "execute_result" 1574 | } 1575 | ], 1576 | "source": [ 1577 | "d1" 1578 | ] 1579 | }, 1580 | { 1581 | "cell_type": "code", 1582 | "execution_count": 85, 1583 | "id": "f0d45fb6", 1584 | "metadata": {}, 1585 | "outputs": [ 1586 | { 1587 | "data": { 1588 | "text/plain": [ 1589 | "[27, 28]" 1590 | ] 1591 | }, 1592 | "execution_count": 85, 1593 | "metadata": {}, 1594 | "output_type": "execute_result" 1595 | } 1596 | ], 1597 | "source": [ 1598 | "d1.pop('age') #delete " 1599 | ] 1600 | }, 1601 | { 1602 | "cell_type": "code", 1603 | "execution_count": 86, 1604 | "id": "ca22d606", 1605 | "metadata": {}, 1606 | "outputs": [ 1607 | { 1608 | "data": { 1609 | "text/plain": [ 1610 | "{'name': ['Touhidul Islam', 'HASIBUL'],\n", 1611 | " 'varsity': ['EWU', 'VARSITY'],\n", 1612 | " 'dept': ['cse', 'eee']}" 1613 | ] 1614 | }, 1615 | "execution_count": 86, 1616 | "metadata": {}, 1617 | "output_type": "execute_result" 1618 | } 1619 | ], 1620 | "source": [ 1621 | "d1" 1622 | ] 1623 | }, 1624 | { 1625 | "cell_type": "markdown", 1626 | "id": "60964500", 1627 | "metadata": {}, 1628 | "source": [ 1629 | "# Data Frame" 1630 | ] 1631 | }, 1632 | { 1633 | "cell_type": "code", 1634 | "execution_count": 87, 1635 | "id": "729db2e7", 1636 | "metadata": {}, 1637 | "outputs": [ 1638 | { 1639 | "data": { 1640 | "text/plain": [ 1641 | "{'name': ['Touhidul Islam', 'HASIBUL'],\n", 1642 | " 'varsity': ['EWU', 'VARSITY'],\n", 1643 | " 'dept': ['cse', 'eee']}" 1644 | ] 1645 | }, 1646 | "execution_count": 87, 1647 | "metadata": {}, 1648 | "output_type": "execute_result" 1649 | } 1650 | ], 1651 | "source": [ 1652 | "d1" 1653 | ] 1654 | }, 1655 | { 1656 | "cell_type": "code", 1657 | "execution_count": 88, 1658 | "id": "d70372a3", 1659 | "metadata": {}, 1660 | "outputs": [], 1661 | "source": [ 1662 | "#pandas\n", 1663 | "#vaex\n", 1664 | "import pandas as pd\n", 1665 | "\n", 1666 | "df = pd.DataFrame(d1)" 1667 | ] 1668 | }, 1669 | { 1670 | "cell_type": "code", 1671 | "execution_count": 89, 1672 | "id": "aa3ead44", 1673 | "metadata": {}, 1674 | "outputs": [ 1675 | { 1676 | "data": { 1677 | "text/html": [ 1678 | "
\n", 1679 | "\n", 1692 | "\n", 1693 | " \n", 1694 | " \n", 1695 | " \n", 1696 | " \n", 1697 | " \n", 1698 | " \n", 1699 | " \n", 1700 | " \n", 1701 | " \n", 1702 | " \n", 1703 | " \n", 1704 | " \n", 1705 | " \n", 1706 | " \n", 1707 | " \n", 1708 | " \n", 1709 | " \n", 1710 | " \n", 1711 | " \n", 1712 | " \n", 1713 | " \n", 1714 | " \n", 1715 | "
namevarsitydept
0Touhidul IslamEWUcse
1HASIBULVARSITYeee
\n", 1716 | "
" 1717 | ], 1718 | "text/plain": [ 1719 | " name varsity dept\n", 1720 | "0 Touhidul Islam EWU cse\n", 1721 | "1 HASIBUL VARSITY eee" 1722 | ] 1723 | }, 1724 | "execution_count": 89, 1725 | "metadata": {}, 1726 | "output_type": "execute_result" 1727 | } 1728 | ], 1729 | "source": [ 1730 | "df" 1731 | ] 1732 | }, 1733 | { 1734 | "cell_type": "code", 1735 | "execution_count": 90, 1736 | "id": "570b84c5", 1737 | "metadata": {}, 1738 | "outputs": [ 1739 | { 1740 | "data": { 1741 | "text/plain": [ 1742 | "0 Touhidul Islam\n", 1743 | "1 HASIBUL\n", 1744 | "Name: name, dtype: object" 1745 | ] 1746 | }, 1747 | "execution_count": 90, 1748 | "metadata": {}, 1749 | "output_type": "execute_result" 1750 | } 1751 | ], 1752 | "source": [ 1753 | "df['name']" 1754 | ] 1755 | }, 1756 | { 1757 | "cell_type": "code", 1758 | "execution_count": 91, 1759 | "id": "5b490d7d", 1760 | "metadata": {}, 1761 | "outputs": [], 1762 | "source": [ 1763 | "df['my'] = [1,2]" 1764 | ] 1765 | }, 1766 | { 1767 | "cell_type": "code", 1768 | "execution_count": 92, 1769 | "id": "7e1a610b", 1770 | "metadata": {}, 1771 | "outputs": [ 1772 | { 1773 | "data": { 1774 | "text/html": [ 1775 | "
\n", 1776 | "\n", 1789 | "\n", 1790 | " \n", 1791 | " \n", 1792 | " \n", 1793 | " \n", 1794 | " \n", 1795 | " \n", 1796 | " \n", 1797 | " \n", 1798 | " \n", 1799 | " \n", 1800 | " \n", 1801 | " \n", 1802 | " \n", 1803 | " \n", 1804 | " \n", 1805 | " \n", 1806 | " \n", 1807 | " \n", 1808 | " \n", 1809 | " \n", 1810 | " \n", 1811 | " \n", 1812 | " \n", 1813 | " \n", 1814 | " \n", 1815 | "
namevarsitydeptmy
0Touhidul IslamEWUcse1
1HASIBULVARSITYeee2
\n", 1816 | "
" 1817 | ], 1818 | "text/plain": [ 1819 | " name varsity dept my\n", 1820 | "0 Touhidul Islam EWU cse 1\n", 1821 | "1 HASIBUL VARSITY eee 2" 1822 | ] 1823 | }, 1824 | "execution_count": 92, 1825 | "metadata": {}, 1826 | "output_type": "execute_result" 1827 | } 1828 | ], 1829 | "source": [ 1830 | "df" 1831 | ] 1832 | }, 1833 | { 1834 | "cell_type": "code", 1835 | "execution_count": 93, 1836 | "id": "52f5955a", 1837 | "metadata": {}, 1838 | "outputs": [ 1839 | { 1840 | "data": { 1841 | "text/html": [ 1842 | "
\n", 1843 | "\n", 1856 | "\n", 1857 | " \n", 1858 | " \n", 1859 | " \n", 1860 | " \n", 1861 | " \n", 1862 | " \n", 1863 | " \n", 1864 | " \n", 1865 | " \n", 1866 | " \n", 1867 | " \n", 1868 | " \n", 1869 | " \n", 1870 | " \n", 1871 | " \n", 1872 | " \n", 1873 | " \n", 1874 | " \n", 1875 | " \n", 1876 | " \n", 1877 | " \n", 1878 | " \n", 1879 | "
namevarsitydept
0Touhidul IslamEWUcse
1HASIBULVARSITYeee
\n", 1880 | "
" 1881 | ], 1882 | "text/plain": [ 1883 | " name varsity dept\n", 1884 | "0 Touhidul Islam EWU cse\n", 1885 | "1 HASIBUL VARSITY eee" 1886 | ] 1887 | }, 1888 | "execution_count": 93, 1889 | "metadata": {}, 1890 | "output_type": "execute_result" 1891 | } 1892 | ], 1893 | "source": [ 1894 | "df = df.drop('my',axis=1)\n", 1895 | "df.head()" 1896 | ] 1897 | }, 1898 | { 1899 | "cell_type": "code", 1900 | "execution_count": 94, 1901 | "id": "76d7e6b0", 1902 | "metadata": {}, 1903 | "outputs": [ 1904 | { 1905 | "data": { 1906 | "text/plain": [ 1907 | "(2, 3)" 1908 | ] 1909 | }, 1910 | "execution_count": 94, 1911 | "metadata": {}, 1912 | "output_type": "execute_result" 1913 | } 1914 | ], 1915 | "source": [ 1916 | "df.shape" 1917 | ] 1918 | }, 1919 | { 1920 | "cell_type": "code", 1921 | "execution_count": 95, 1922 | "id": "2623fce6", 1923 | "metadata": {}, 1924 | "outputs": [ 1925 | { 1926 | "data": { 1927 | "text/html": [ 1928 | "
\n", 1929 | "\n", 1942 | "\n", 1943 | " \n", 1944 | " \n", 1945 | " \n", 1946 | " \n", 1947 | " \n", 1948 | " \n", 1949 | " \n", 1950 | " \n", 1951 | " \n", 1952 | " \n", 1953 | " \n", 1954 | " \n", 1955 | " \n", 1956 | " \n", 1957 | " \n", 1958 | " \n", 1959 | " \n", 1960 | " \n", 1961 | " \n", 1962 | " \n", 1963 | " \n", 1964 | " \n", 1965 | "
namevarsitydept
0Touhidul IslamEWUcse
1HASIBULVARSITYeee
\n", 1966 | "
" 1967 | ], 1968 | "text/plain": [ 1969 | " name varsity dept\n", 1970 | "0 Touhidul Islam EWU cse\n", 1971 | "1 HASIBUL VARSITY eee" 1972 | ] 1973 | }, 1974 | "execution_count": 95, 1975 | "metadata": {}, 1976 | "output_type": "execute_result" 1977 | } 1978 | ], 1979 | "source": [ 1980 | "df" 1981 | ] 1982 | }, 1983 | { 1984 | "cell_type": "code", 1985 | "execution_count": 98, 1986 | "id": "ed28067f", 1987 | "metadata": {}, 1988 | "outputs": [ 1989 | { 1990 | "data": { 1991 | "text/html": [ 1992 | "
\n", 1993 | "\n", 2006 | "\n", 2007 | " \n", 2008 | " \n", 2009 | " \n", 2010 | " \n", 2011 | " \n", 2012 | " \n", 2013 | " \n", 2014 | " \n", 2015 | " \n", 2016 | " \n", 2017 | " \n", 2018 | " \n", 2019 | " \n", 2020 | " \n", 2021 | " \n", 2022 | " \n", 2023 | " \n", 2024 | " \n", 2025 | " \n", 2026 | "
NAMEAGE
0ABC20
1CDF35
\n", 2027 | "
" 2028 | ], 2029 | "text/plain": [ 2030 | " NAME AGE\n", 2031 | "0 ABC 20\n", 2032 | "1 CDF 35" 2033 | ] 2034 | }, 2035 | "execution_count": 98, 2036 | "metadata": {}, 2037 | "output_type": "execute_result" 2038 | } 2039 | ], 2040 | "source": [ 2041 | "df= pd.read_excel('DATA.xlsx')\n", 2042 | "df.head()" 2043 | ] 2044 | }, 2045 | { 2046 | "cell_type": "code", 2047 | "execution_count": 99, 2048 | "id": "9c28b12e", 2049 | "metadata": {}, 2050 | "outputs": [ 2051 | { 2052 | "data": { 2053 | "text/html": [ 2054 | "
\n", 2055 | "\n", 2068 | "\n", 2069 | " \n", 2070 | " \n", 2071 | " \n", 2072 | " \n", 2073 | " \n", 2074 | " \n", 2075 | " \n", 2076 | " \n", 2077 | " \n", 2078 | " \n", 2079 | " \n", 2080 | " \n", 2081 | " \n", 2082 | " \n", 2083 | " \n", 2084 | " \n", 2085 | " \n", 2086 | " \n", 2087 | " \n", 2088 | "
NAMEAGE
0ABC20
1CDF35
\n", 2089 | "
" 2090 | ], 2091 | "text/plain": [ 2092 | " NAME AGE\n", 2093 | "0 ABC 20\n", 2094 | "1 CDF 35" 2095 | ] 2096 | }, 2097 | "execution_count": 99, 2098 | "metadata": {}, 2099 | "output_type": "execute_result" 2100 | } 2101 | ], 2102 | "source": [ 2103 | "df2= pd.read_csv('DATA.csv')\n", 2104 | "df2.head()" 2105 | ] 2106 | }, 2107 | { 2108 | "cell_type": "code", 2109 | "execution_count": 100, 2110 | "id": "92510d07", 2111 | "metadata": {}, 2112 | "outputs": [], 2113 | "source": [ 2114 | "df3 = pd.concat([df,df2])" 2115 | ] 2116 | }, 2117 | { 2118 | "cell_type": "code", 2119 | "execution_count": 101, 2120 | "id": "9381f5ca", 2121 | "metadata": {}, 2122 | "outputs": [ 2123 | { 2124 | "data": { 2125 | "text/html": [ 2126 | "
\n", 2127 | "\n", 2140 | "\n", 2141 | " \n", 2142 | " \n", 2143 | " \n", 2144 | " \n", 2145 | " \n", 2146 | " \n", 2147 | " \n", 2148 | " \n", 2149 | " \n", 2150 | " \n", 2151 | " \n", 2152 | " \n", 2153 | " \n", 2154 | " \n", 2155 | " \n", 2156 | " \n", 2157 | " \n", 2158 | " \n", 2159 | " \n", 2160 | " \n", 2161 | " \n", 2162 | " \n", 2163 | " \n", 2164 | " \n", 2165 | " \n", 2166 | " \n", 2167 | " \n", 2168 | " \n", 2169 | " \n", 2170 | "
NAMEAGE
0ABC20
1CDF35
0ABC20
1CDF35
\n", 2171 | "
" 2172 | ], 2173 | "text/plain": [ 2174 | " NAME AGE\n", 2175 | "0 ABC 20\n", 2176 | "1 CDF 35\n", 2177 | "0 ABC 20\n", 2178 | "1 CDF 35" 2179 | ] 2180 | }, 2181 | "execution_count": 101, 2182 | "metadata": {}, 2183 | "output_type": "execute_result" 2184 | } 2185 | ], 2186 | "source": [ 2187 | "df3" 2188 | ] 2189 | }, 2190 | { 2191 | "cell_type": "code", 2192 | "execution_count": null, 2193 | "id": "dbbd1234", 2194 | "metadata": {}, 2195 | "outputs": [], 2196 | "source": [] 2197 | } 2198 | ], 2199 | "metadata": { 2200 | "kernelspec": { 2201 | "display_name": "Python 3", 2202 | "language": "python", 2203 | "name": "python3" 2204 | }, 2205 | "language_info": { 2206 | "codemirror_mode": { 2207 | "name": "ipython", 2208 | "version": 3 2209 | }, 2210 | "file_extension": ".py", 2211 | "mimetype": "text/x-python", 2212 | "name": "python", 2213 | "nbconvert_exporter": "python", 2214 | "pygments_lexer": "ipython3", 2215 | "version": "3.8.8" 2216 | } 2217 | }, 2218 | "nbformat": 4, 2219 | "nbformat_minor": 5 2220 | } 2221 | --------------------------------------------------------------------------------