├── Data_Analysis_Tools_NumPy_and_Pandas.ipynb ├── Data_Visualization_Crash_Course.ipynb ├── Day 1 - IIT ISM Fundamentals of ML .ipynb ├── IIT_ISM_Intro_to_ML_for_PE.ipynb ├── Petroleum_Data_Analytics_Projects.ipynb ├── Predicting_Oil_Production_Rates_with_ML.ipynb ├── Pt.csv ├── Python_Crash_Course.ipynb └── README.md /Data_Analysis_Tools_NumPy_and_Pandas.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Data Analysis Tools : NumPy and Pandas.ipynb", 7 | "provenance": [], 8 | "authorship_tag": "ABX9TyPSoXVA/bpIKLB5LLJe+Cv8", 9 | "include_colab_link": true 10 | }, 11 | "kernelspec": { 12 | "name": "python3", 13 | "display_name": "Python 3" 14 | }, 15 | "language_info": { 16 | "name": "python" 17 | } 18 | }, 19 | "cells": [ 20 | { 21 | "cell_type": "markdown", 22 | "metadata": { 23 | "id": "view-in-github", 24 | "colab_type": "text" 25 | }, 26 | "source": [ 27 | "\"Open" 28 | ] 29 | }, 30 | { 31 | "cell_type": "markdown", 32 | "metadata": { 33 | "id": "Ced_XJ7Wx8Le" 34 | }, 35 | "source": [ 36 | "## 1. NumPy\n", 37 | "\n", 38 | "\n", 39 | "NumPy (or Numpy) is a Linear Algebra Library for Python, the reason it is so important for Data Science with Python is that almost all of the libraries in the PyData Ecosystem rely on NumPy as one of their main building blocks.\n", 40 | "\n", 41 | "Numpy is also incredibly fast, as it has bindings to C libraries." 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "metadata": { 47 | "id": "49dh9gX4Mgtt" 48 | }, 49 | "source": [ 50 | "#Anaconda prompt\n", 51 | "#pip install numpy" 52 | ], 53 | "execution_count": null, 54 | "outputs": [] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "metadata": { 59 | "id": "oHVSMaDzwnfK" 60 | }, 61 | "source": [ 62 | "import numpy as np" 63 | ], 64 | "execution_count": 84, 65 | "outputs": [] 66 | }, 67 | { 68 | "cell_type": "markdown", 69 | "metadata": { 70 | "id": "Rdk9B10IyITF" 71 | }, 72 | "source": [ 73 | "Most important aspects of Numpy: vectors,arrays,matrices, and number generation." 74 | ] 75 | }, 76 | { 77 | "cell_type": "markdown", 78 | "metadata": { 79 | "id": "VEBo_SD_yMdl" 80 | }, 81 | "source": [ 82 | "Disadvantage of using a list." 83 | ] 84 | }, 85 | { 86 | "cell_type": "code", 87 | "metadata": { 88 | "id": "6ZPPlMgVyDw_" 89 | }, 90 | "source": [ 91 | "phi = [0.4 , 0.2, 0.35, 0.27, 0.44]\n", 92 | "\n", 93 | "# phi**2\n", 94 | "for i in range(5):\n", 95 | " phi[i] = phi[i]**2" 96 | ], 97 | "execution_count": 89, 98 | "outputs": [] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "metadata": { 103 | "colab": { 104 | "base_uri": "https://localhost:8080/" 105 | }, 106 | "id": "-K62Bm_eNXyJ", 107 | "outputId": "67b35891-0290-4256-f4a0-8385ff1c3a61" 108 | }, 109 | "source": [ 110 | "phi" 111 | ], 112 | "execution_count": 86, 113 | "outputs": [ 114 | { 115 | "output_type": "execute_result", 116 | "data": { 117 | "text/plain": [ 118 | "[0.4, 0.2, 0.35, 0.27, 0.44]" 119 | ] 120 | }, 121 | "metadata": { 122 | "tags": [] 123 | }, 124 | "execution_count": 86 125 | } 126 | ] 127 | }, 128 | { 129 | "cell_type": "code", 130 | "metadata": { 131 | "colab": { 132 | "base_uri": "https://localhost:8080/" 133 | }, 134 | "id": "IYYVRGClyVii", 135 | "outputId": "72d127f0-2990-4bfa-f1d2-48e4c364c9d1" 136 | }, 137 | "source": [ 138 | "2*phi" 139 | ], 140 | "execution_count": 3, 141 | "outputs": [ 142 | { 143 | "output_type": "execute_result", 144 | "data": { 145 | "text/plain": [ 146 | "[0.4, 0.2, 0.35, 0.27, 0.44, 0.4, 0.2, 0.35, 0.27, 0.44]" 147 | ] 148 | }, 149 | "metadata": { 150 | "tags": [] 151 | }, 152 | "execution_count": 3 153 | } 154 | ] 155 | }, 156 | { 157 | "cell_type": "markdown", 158 | "metadata": { 159 | "id": "AKhO0dKzyZXp" 160 | }, 161 | "source": [ 162 | "Not Doing what we want it to do. " 163 | ] 164 | }, 165 | { 166 | "cell_type": "code", 167 | "metadata": { 168 | "colab": { 169 | "base_uri": "https://localhost:8080/" 170 | }, 171 | "id": "f_zO7Q-qyYYy", 172 | "outputId": "dd63feb3-f08f-4cb3-c12d-417b317183c2" 173 | }, 174 | "source": [ 175 | "#Let's convert the list to a numpy array and do it again. \n", 176 | "phi_array = np.array(phi)\n", 177 | "\n", 178 | "phi_array**0.5" 179 | ], 180 | "execution_count": 90, 181 | "outputs": [ 182 | { 183 | "output_type": "execute_result", 184 | "data": { 185 | "text/plain": [ 186 | "array([0.4 , 0.2 , 0.35, 0.27, 0.44])" 187 | ] 188 | }, 189 | "metadata": { 190 | "tags": [] 191 | }, 192 | "execution_count": 90 193 | } 194 | ] 195 | }, 196 | { 197 | "cell_type": "code", 198 | "metadata": { 199 | "colab": { 200 | "base_uri": "https://localhost:8080/" 201 | }, 202 | "id": "Pdo7YEccylEx", 203 | "outputId": "d91b2c71-2327-4d53-e3fc-c9dc6cb75516" 204 | }, 205 | "source": [ 206 | "#A 2D Matrix\n", 207 | "my_matrix = [[1,2,3],[4,5,6],[7,8,9]]\n", 208 | "my_matrix" 209 | ], 210 | "execution_count": 5, 211 | "outputs": [ 212 | { 213 | "output_type": "execute_result", 214 | "data": { 215 | "text/plain": [ 216 | "[[1, 2, 3], [4, 5, 6], [7, 8, 9]]" 217 | ] 218 | }, 219 | "metadata": { 220 | "tags": [] 221 | }, 222 | "execution_count": 5 223 | } 224 | ] 225 | }, 226 | { 227 | "cell_type": "code", 228 | "metadata": { 229 | "colab": { 230 | "base_uri": "https://localhost:8080/" 231 | }, 232 | "id": "xTLGcEbzyqfP", 233 | "outputId": "2ab15168-81d3-47ee-96e6-5456040d4848" 234 | }, 235 | "source": [ 236 | "\n", 237 | "A2 = np.array(my_matrix)\n", 238 | "\n", 239 | "A2**2" 240 | ], 241 | "execution_count": 91, 242 | "outputs": [ 243 | { 244 | "output_type": "execute_result", 245 | "data": { 246 | "text/plain": [ 247 | "array([[ 1, 4, 9],\n", 248 | " [16, 25, 36],\n", 249 | " [49, 64, 81]])" 250 | ] 251 | }, 252 | "metadata": { 253 | "tags": [] 254 | }, 255 | "execution_count": 91 256 | } 257 | ] 258 | }, 259 | { 260 | "cell_type": "markdown", 261 | "metadata": { 262 | "id": "i0ki6ZcDywsP" 263 | }, 264 | "source": [ 265 | "# Built-in methods of NumPy" 266 | ] 267 | }, 268 | { 269 | "cell_type": "markdown", 270 | "metadata": { 271 | "id": "9F4PLRpmy1Mm" 272 | }, 273 | "source": [ 274 | "1. np.arange : Generating a Vector of Range of Numbers. \n", 275 | "\n", 276 | "Eg. Saturation." 277 | ] 278 | }, 279 | { 280 | "cell_type": "code", 281 | "metadata": { 282 | "colab": { 283 | "base_uri": "https://localhost:8080/" 284 | }, 285 | "id": "1JlZ01KcyusC", 286 | "outputId": "a416bec5-3db5-4051-f0c8-0118e6410261" 287 | }, 288 | "source": [ 289 | "Sw = np.arange(start=0 , stop = 1, step = 0.005)\n", 290 | "\n", 291 | "Sw" 292 | ], 293 | "execution_count": 92, 294 | "outputs": [ 295 | { 296 | "output_type": "execute_result", 297 | "data": { 298 | "text/plain": [ 299 | "array([0. , 0.005, 0.01 , 0.015, 0.02 , 0.025, 0.03 , 0.035, 0.04 ,\n", 300 | " 0.045, 0.05 , 0.055, 0.06 , 0.065, 0.07 , 0.075, 0.08 , 0.085,\n", 301 | " 0.09 , 0.095, 0.1 , 0.105, 0.11 , 0.115, 0.12 , 0.125, 0.13 ,\n", 302 | " 0.135, 0.14 , 0.145, 0.15 , 0.155, 0.16 , 0.165, 0.17 , 0.175,\n", 303 | " 0.18 , 0.185, 0.19 , 0.195, 0.2 , 0.205, 0.21 , 0.215, 0.22 ,\n", 304 | " 0.225, 0.23 , 0.235, 0.24 , 0.245, 0.25 , 0.255, 0.26 , 0.265,\n", 305 | " 0.27 , 0.275, 0.28 , 0.285, 0.29 , 0.295, 0.3 , 0.305, 0.31 ,\n", 306 | " 0.315, 0.32 , 0.325, 0.33 , 0.335, 0.34 , 0.345, 0.35 , 0.355,\n", 307 | " 0.36 , 0.365, 0.37 , 0.375, 0.38 , 0.385, 0.39 , 0.395, 0.4 ,\n", 308 | " 0.405, 0.41 , 0.415, 0.42 , 0.425, 0.43 , 0.435, 0.44 , 0.445,\n", 309 | " 0.45 , 0.455, 0.46 , 0.465, 0.47 , 0.475, 0.48 , 0.485, 0.49 ,\n", 310 | " 0.495, 0.5 , 0.505, 0.51 , 0.515, 0.52 , 0.525, 0.53 , 0.535,\n", 311 | " 0.54 , 0.545, 0.55 , 0.555, 0.56 , 0.565, 0.57 , 0.575, 0.58 ,\n", 312 | " 0.585, 0.59 , 0.595, 0.6 , 0.605, 0.61 , 0.615, 0.62 , 0.625,\n", 313 | " 0.63 , 0.635, 0.64 , 0.645, 0.65 , 0.655, 0.66 , 0.665, 0.67 ,\n", 314 | " 0.675, 0.68 , 0.685, 0.69 , 0.695, 0.7 , 0.705, 0.71 , 0.715,\n", 315 | " 0.72 , 0.725, 0.73 , 0.735, 0.74 , 0.745, 0.75 , 0.755, 0.76 ,\n", 316 | " 0.765, 0.77 , 0.775, 0.78 , 0.785, 0.79 , 0.795, 0.8 , 0.805,\n", 317 | " 0.81 , 0.815, 0.82 , 0.825, 0.83 , 0.835, 0.84 , 0.845, 0.85 ,\n", 318 | " 0.855, 0.86 , 0.865, 0.87 , 0.875, 0.88 , 0.885, 0.89 , 0.895,\n", 319 | " 0.9 , 0.905, 0.91 , 0.915, 0.92 , 0.925, 0.93 , 0.935, 0.94 ,\n", 320 | " 0.945, 0.95 , 0.955, 0.96 , 0.965, 0.97 , 0.975, 0.98 , 0.985,\n", 321 | " 0.99 , 0.995])" 322 | ] 323 | }, 324 | "metadata": { 325 | "tags": [] 326 | }, 327 | "execution_count": 92 328 | } 329 | ] 330 | }, 331 | { 332 | "cell_type": "markdown", 333 | "metadata": { 334 | "id": "4qoEy36RzL7e" 335 | }, 336 | "source": [ 337 | "2. Generate a Matrix/Array of 0s or 1s." 338 | ] 339 | }, 340 | { 341 | "cell_type": "code", 342 | "metadata": { 343 | "colab": { 344 | "base_uri": "https://localhost:8080/" 345 | }, 346 | "id": "mBMCdeLPzHhF", 347 | "outputId": "c9bc88f3-477b-496e-9208-25425ec60118" 348 | }, 349 | "source": [ 350 | "np.zeros((10,10))" 351 | ], 352 | "execution_count": 93, 353 | "outputs": [ 354 | { 355 | "output_type": "execute_result", 356 | "data": { 357 | "text/plain": [ 358 | "array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 359 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 360 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 361 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 362 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 363 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 364 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 365 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 366 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", 367 | " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])" 368 | ] 369 | }, 370 | "metadata": { 371 | "tags": [] 372 | }, 373 | "execution_count": 93 374 | } 375 | ] 376 | }, 377 | { 378 | "cell_type": "code", 379 | "metadata": { 380 | "id": "mLQeRkRdzSO-" 381 | }, 382 | "source": [ 383 | "P = np.ones((10,10))\n", 384 | "Pi = 5000 #psi\n", 385 | "P = P*Pi" 386 | ], 387 | "execution_count": 95, 388 | "outputs": [] 389 | }, 390 | { 391 | "cell_type": "code", 392 | "metadata": { 393 | "colab": { 394 | "base_uri": "https://localhost:8080/" 395 | }, 396 | "id": "7hI5zAYePn_R", 397 | "outputId": "372379d4-697c-42f4-ab8d-f840c607d784" 398 | }, 399 | "source": [ 400 | "P" 401 | ], 402 | "execution_count": 96, 403 | "outputs": [ 404 | { 405 | "output_type": "execute_result", 406 | "data": { 407 | "text/plain": [ 408 | "array([[5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 409 | " 5000.],\n", 410 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 411 | " 5000.],\n", 412 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 413 | " 5000.],\n", 414 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 415 | " 5000.],\n", 416 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 417 | " 5000.],\n", 418 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 419 | " 5000.],\n", 420 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 421 | " 5000.],\n", 422 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 423 | " 5000.],\n", 424 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 425 | " 5000.],\n", 426 | " [5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,\n", 427 | " 5000.]])" 428 | ] 429 | }, 430 | "metadata": { 431 | "tags": [] 432 | }, 433 | "execution_count": 96 434 | } 435 | ] 436 | }, 437 | { 438 | "cell_type": "markdown", 439 | "metadata": { 440 | "id": "i_8mXSf0zZli" 441 | }, 442 | "source": [ 443 | "3. np.linspace : Create a Linearly Spaced vector." 444 | ] 445 | }, 446 | { 447 | "cell_type": "code", 448 | "metadata": { 449 | "colab": { 450 | "base_uri": "https://localhost:8080/" 451 | }, 452 | "id": "Y-yT0QOuzUyQ", 453 | "outputId": "b16af65a-a086-4459-9b85-1df071f61f17" 454 | }, 455 | "source": [ 456 | "np.linspace(start = 0 , stop = 1 , num = 100)" 457 | ], 458 | "execution_count": 98, 459 | "outputs": [ 460 | { 461 | "output_type": "execute_result", 462 | "data": { 463 | "text/plain": [ 464 | "array([0. , 0.01010101, 0.02020202, 0.03030303, 0.04040404,\n", 465 | " 0.05050505, 0.06060606, 0.07070707, 0.08080808, 0.09090909,\n", 466 | " 0.1010101 , 0.11111111, 0.12121212, 0.13131313, 0.14141414,\n", 467 | " 0.15151515, 0.16161616, 0.17171717, 0.18181818, 0.19191919,\n", 468 | " 0.2020202 , 0.21212121, 0.22222222, 0.23232323, 0.24242424,\n", 469 | " 0.25252525, 0.26262626, 0.27272727, 0.28282828, 0.29292929,\n", 470 | " 0.3030303 , 0.31313131, 0.32323232, 0.33333333, 0.34343434,\n", 471 | " 0.35353535, 0.36363636, 0.37373737, 0.38383838, 0.39393939,\n", 472 | " 0.4040404 , 0.41414141, 0.42424242, 0.43434343, 0.44444444,\n", 473 | " 0.45454545, 0.46464646, 0.47474747, 0.48484848, 0.49494949,\n", 474 | " 0.50505051, 0.51515152, 0.52525253, 0.53535354, 0.54545455,\n", 475 | " 0.55555556, 0.56565657, 0.57575758, 0.58585859, 0.5959596 ,\n", 476 | " 0.60606061, 0.61616162, 0.62626263, 0.63636364, 0.64646465,\n", 477 | " 0.65656566, 0.66666667, 0.67676768, 0.68686869, 0.6969697 ,\n", 478 | " 0.70707071, 0.71717172, 0.72727273, 0.73737374, 0.74747475,\n", 479 | " 0.75757576, 0.76767677, 0.77777778, 0.78787879, 0.7979798 ,\n", 480 | " 0.80808081, 0.81818182, 0.82828283, 0.83838384, 0.84848485,\n", 481 | " 0.85858586, 0.86868687, 0.87878788, 0.88888889, 0.8989899 ,\n", 482 | " 0.90909091, 0.91919192, 0.92929293, 0.93939394, 0.94949495,\n", 483 | " 0.95959596, 0.96969697, 0.97979798, 0.98989899, 1. ])" 484 | ] 485 | }, 486 | "metadata": { 487 | "tags": [] 488 | }, 489 | "execution_count": 98 490 | } 491 | ] 492 | }, 493 | { 494 | "cell_type": "markdown", 495 | "metadata": { 496 | "id": "agNl_qr1zo-3" 497 | }, 498 | "source": [ 499 | "4. np.eye : Create an Identity Matrix." 500 | ] 501 | }, 502 | { 503 | "cell_type": "code", 504 | "metadata": { 505 | "colab": { 506 | "base_uri": "https://localhost:8080/" 507 | }, 508 | "id": "SY2d7-jPzkN3", 509 | "outputId": "9261f919-0db2-45ad-9b8c-85946565f676" 510 | }, 511 | "source": [ 512 | "np.eye(5) # 4x4 Identity Matrix" 513 | ], 514 | "execution_count": 99, 515 | "outputs": [ 516 | { 517 | "output_type": "execute_result", 518 | "data": { 519 | "text/plain": [ 520 | "array([[1., 0., 0., 0., 0.],\n", 521 | " [0., 1., 0., 0., 0.],\n", 522 | " [0., 0., 1., 0., 0.],\n", 523 | " [0., 0., 0., 1., 0.],\n", 524 | " [0., 0., 0., 0., 1.]])" 525 | ] 526 | }, 527 | "metadata": { 528 | "tags": [] 529 | }, 530 | "execution_count": 99 531 | } 532 | ] 533 | }, 534 | { 535 | "cell_type": "markdown", 536 | "metadata": { 537 | "id": "9X2fIOtIz0w7" 538 | }, 539 | "source": [ 540 | "## NumPy's Random Number Generation Capabilities." 541 | ] 542 | }, 543 | { 544 | "cell_type": "markdown", 545 | "metadata": { 546 | "id": "lZgwj5PZ0kkG" 547 | }, 548 | "source": [ 549 | "Generate 3 Random Numbers from a Uniform Distribution in [0,1) interval" 550 | ] 551 | }, 552 | { 553 | "cell_type": "code", 554 | "metadata": { 555 | "colab": { 556 | "base_uri": "https://localhost:8080/" 557 | }, 558 | "id": "QM3Dz3hWzwxi", 559 | "outputId": "c51e4e8d-d63e-4cd6-b688-d506a11bd1b8" 560 | }, 561 | "source": [ 562 | "np.random.rand(3)" 563 | ], 564 | "execution_count": 101, 565 | "outputs": [ 566 | { 567 | "output_type": "execute_result", 568 | "data": { 569 | "text/plain": [ 570 | "array([0.29765699, 0.98903906, 0.22353677])" 571 | ] 572 | }, 573 | "metadata": { 574 | "tags": [] 575 | }, 576 | "execution_count": 101 577 | } 578 | ] 579 | }, 580 | { 581 | "cell_type": "markdown", 582 | "metadata": { 583 | "id": "lMOeKfpY0xTV" 584 | }, 585 | "source": [ 586 | "Generate 5 Random Samples from Standard Normal Distribution." 587 | ] 588 | }, 589 | { 590 | "cell_type": "code", 591 | "metadata": { 592 | "colab": { 593 | "base_uri": "https://localhost:8080/" 594 | }, 595 | "id": "L6DuVu4B0ar4", 596 | "outputId": "c8b15458-3fa9-4592-bd43-57e05eb58921" 597 | }, 598 | "source": [ 599 | "np.random.randn(5)" 600 | ], 601 | "execution_count": 16, 602 | "outputs": [ 603 | { 604 | "output_type": "execute_result", 605 | "data": { 606 | "text/plain": [ 607 | "array([ 1.37710354, -2.01278539, 1.66007349, 1.88203505, -0.35254634])" 608 | ] 609 | }, 610 | "metadata": { 611 | "tags": [] 612 | }, 613 | "execution_count": 16 614 | } 615 | ] 616 | }, 617 | { 618 | "cell_type": "code", 619 | "metadata": { 620 | "colab": { 621 | "base_uri": "https://localhost:8080/" 622 | }, 623 | "id": "9yL0TyEa03mQ", 624 | "outputId": "7e4ccca8-1b20-4d51-cded-b927c6f5fc07" 625 | }, 626 | "source": [ 627 | "#MAtrix containing all SND values. \n", 628 | "np.random.randn(7000,5)" 629 | ], 630 | "execution_count": 102, 631 | "outputs": [ 632 | { 633 | "output_type": "execute_result", 634 | "data": { 635 | "text/plain": [ 636 | "array([[ 1.96773329, 1.32788049, 0.12659496, 1.72309875, -0.07746591],\n", 637 | " [ 1.82787214, 0.30832428, 0.64173028, -0.55261589, 0.90131923],\n", 638 | " [-0.70942399, 2.5530326 , 1.9371735 , -0.48668674, 0.17080277],\n", 639 | " ...,\n", 640 | " [-1.43510458, 0.30860086, 0.43482077, 0.42544275, -0.08406665],\n", 641 | " [-0.67506255, -1.19003494, 1.74330016, 0.66187072, -0.73667764],\n", 642 | " [ 1.14218215, 0.42645458, -0.59164283, 0.31159763, 0.93865275]])" 643 | ] 644 | }, 645 | "metadata": { 646 | "tags": [] 647 | }, 648 | "execution_count": 102 649 | } 650 | ] 651 | }, 652 | { 653 | "cell_type": "markdown", 654 | "metadata": { 655 | "id": "pn7fjP-r1JvA" 656 | }, 657 | "source": [ 658 | "'Randint' to generate random integers." 659 | ] 660 | }, 661 | { 662 | "cell_type": "code", 663 | "metadata": { 664 | "colab": { 665 | "base_uri": "https://localhost:8080/" 666 | }, 667 | "id": "dmAVjrmu1JO6", 668 | "outputId": "20df51b3-a46b-4fc0-8312-def84d2ca4b0" 669 | }, 670 | "source": [ 671 | "np.random.randint(low=1, high=100, size=10)" 672 | ], 673 | "execution_count": 103, 674 | "outputs": [ 675 | { 676 | "output_type": "execute_result", 677 | "data": { 678 | "text/plain": [ 679 | "array([25, 71, 64, 96, 74, 8, 60, 24, 6, 83])" 680 | ] 681 | }, 682 | "metadata": { 683 | "tags": [] 684 | }, 685 | "execution_count": 103 686 | } 687 | ] 688 | }, 689 | { 690 | "cell_type": "markdown", 691 | "metadata": { 692 | "id": "R3FUv1Gb1Fvr" 693 | }, 694 | "source": [ 695 | "## Shape and Reshape of an array" 696 | ] 697 | }, 698 | { 699 | "cell_type": "code", 700 | "metadata": { 701 | "colab": { 702 | "base_uri": "https://localhost:8080/" 703 | }, 704 | "id": "DPn3libE09jU", 705 | "outputId": "faf9885c-dbc1-45ba-8d7d-7b645e03e18e" 706 | }, 707 | "source": [ 708 | "# 1. Reshaping a 100 value arrray to a 10x10 matrix. \n", 709 | "v100 = np.linspace(0,1,100)\n", 710 | "v100.shape\n", 711 | "v100" 712 | ], 713 | "execution_count": 105, 714 | "outputs": [ 715 | { 716 | "output_type": "execute_result", 717 | "data": { 718 | "text/plain": [ 719 | "array([0. , 0.01010101, 0.02020202, 0.03030303, 0.04040404,\n", 720 | " 0.05050505, 0.06060606, 0.07070707, 0.08080808, 0.09090909,\n", 721 | " 0.1010101 , 0.11111111, 0.12121212, 0.13131313, 0.14141414,\n", 722 | " 0.15151515, 0.16161616, 0.17171717, 0.18181818, 0.19191919,\n", 723 | " 0.2020202 , 0.21212121, 0.22222222, 0.23232323, 0.24242424,\n", 724 | " 0.25252525, 0.26262626, 0.27272727, 0.28282828, 0.29292929,\n", 725 | " 0.3030303 , 0.31313131, 0.32323232, 0.33333333, 0.34343434,\n", 726 | " 0.35353535, 0.36363636, 0.37373737, 0.38383838, 0.39393939,\n", 727 | " 0.4040404 , 0.41414141, 0.42424242, 0.43434343, 0.44444444,\n", 728 | " 0.45454545, 0.46464646, 0.47474747, 0.48484848, 0.49494949,\n", 729 | " 0.50505051, 0.51515152, 0.52525253, 0.53535354, 0.54545455,\n", 730 | " 0.55555556, 0.56565657, 0.57575758, 0.58585859, 0.5959596 ,\n", 731 | " 0.60606061, 0.61616162, 0.62626263, 0.63636364, 0.64646465,\n", 732 | " 0.65656566, 0.66666667, 0.67676768, 0.68686869, 0.6969697 ,\n", 733 | " 0.70707071, 0.71717172, 0.72727273, 0.73737374, 0.74747475,\n", 734 | " 0.75757576, 0.76767677, 0.77777778, 0.78787879, 0.7979798 ,\n", 735 | " 0.80808081, 0.81818182, 0.82828283, 0.83838384, 0.84848485,\n", 736 | " 0.85858586, 0.86868687, 0.87878788, 0.88888889, 0.8989899 ,\n", 737 | " 0.90909091, 0.91919192, 0.92929293, 0.93939394, 0.94949495,\n", 738 | " 0.95959596, 0.96969697, 0.97979798, 0.98989899, 1. ])" 739 | ] 740 | }, 741 | "metadata": { 742 | "tags": [] 743 | }, 744 | "execution_count": 105 745 | } 746 | ] 747 | }, 748 | { 749 | "cell_type": "code", 750 | "metadata": { 751 | "colab": { 752 | "base_uri": "https://localhost:8080/" 753 | }, 754 | "id": "gso5rcyp1z5T", 755 | "outputId": "c4950b2a-3be8-4c52-ce08-d84c2d20d1fb" 756 | }, 757 | "source": [ 758 | "m10_10 = v100.reshape(10,10)\n", 759 | "m10_10.shape" 760 | ], 761 | "execution_count": 107, 762 | "outputs": [ 763 | { 764 | "output_type": "execute_result", 765 | "data": { 766 | "text/plain": [ 767 | "(10, 10)" 768 | ] 769 | }, 770 | "metadata": { 771 | "tags": [] 772 | }, 773 | "execution_count": 107 774 | } 775 | ] 776 | }, 777 | { 778 | "cell_type": "code", 779 | "metadata": { 780 | "colab": { 781 | "base_uri": "https://localhost:8080/" 782 | }, 783 | "id": "SIpEPWHu13X_", 784 | "outputId": "90836790-6455-41f0-ebbd-e615d6a7a129" 785 | }, 786 | "source": [ 787 | "m10_10.shape" 788 | ], 789 | "execution_count": 22, 790 | "outputs": [ 791 | { 792 | "output_type": "execute_result", 793 | "data": { 794 | "text/plain": [ 795 | "(10, 10)" 796 | ] 797 | }, 798 | "metadata": { 799 | "tags": [] 800 | }, 801 | "execution_count": 22 802 | } 803 | ] 804 | }, 805 | { 806 | "cell_type": "markdown", 807 | "metadata": { 808 | "id": "sC7qq7T21_Se" 809 | }, 810 | "source": [ 811 | "### max-min-argmax-argmin. \n", 812 | "\n", 813 | "1. np.max : returns max value in array. \n", 814 | "2. np.min : returns min value in array. \n", 815 | "3. np.argmax : returns positon (index) of max value. \n", 816 | "4. np.argmin : \" \" of min value." 817 | ] 818 | }, 819 | { 820 | "cell_type": "code", 821 | "metadata": { 822 | "id": "iAYqGlEY17Kd" 823 | }, 824 | "source": [ 825 | "ranarr = np.random.randint(0,50,15)" 826 | ], 827 | "execution_count": 108, 828 | "outputs": [] 829 | }, 830 | { 831 | "cell_type": "code", 832 | "metadata": { 833 | "colab": { 834 | "base_uri": "https://localhost:8080/" 835 | }, 836 | "id": "NT9Jkr402Wmy", 837 | "outputId": "59bb3805-8d83-4668-b835-6ef8f4bb2e5e" 838 | }, 839 | "source": [ 840 | "ranarr" 841 | ], 842 | "execution_count": 114, 843 | "outputs": [ 844 | { 845 | "output_type": "execute_result", 846 | "data": { 847 | "text/plain": [ 848 | "array([14, 24, 26, 8, 27, 9, 8, 43, 44, 10, 46, 42, 2, 27, 37])" 849 | ] 850 | }, 851 | "metadata": { 852 | "tags": [] 853 | }, 854 | "execution_count": 114 855 | } 856 | ] 857 | }, 858 | { 859 | "cell_type": "code", 860 | "metadata": { 861 | "colab": { 862 | "base_uri": "https://localhost:8080/" 863 | }, 864 | "id": "y3W9soMg2Y-r", 865 | "outputId": "40f1e005-c9f6-4197-880a-a9377796882f" 866 | }, 867 | "source": [ 868 | "ranarr[np.argmin(ranarr)]" 869 | ], 870 | "execution_count": 116, 871 | "outputs": [ 872 | { 873 | "output_type": "execute_result", 874 | "data": { 875 | "text/plain": [ 876 | "2" 877 | ] 878 | }, 879 | "metadata": { 880 | "tags": [] 881 | }, 882 | "execution_count": 116 883 | } 884 | ] 885 | }, 886 | { 887 | "cell_type": "code", 888 | "metadata": { 889 | "colab": { 890 | "base_uri": "https://localhost:8080/" 891 | }, 892 | "id": "Vza6x5tY2yKu", 893 | "outputId": "efdb662f-b559-4842-a4c6-1e786de74771" 894 | }, 895 | "source": [ 896 | "np.max(ranarr)" 897 | ], 898 | "execution_count": 111, 899 | "outputs": [ 900 | { 901 | "output_type": "execute_result", 902 | "data": { 903 | "text/plain": [ 904 | "46" 905 | ] 906 | }, 907 | "metadata": { 908 | "tags": [] 909 | }, 910 | "execution_count": 111 911 | } 912 | ] 913 | }, 914 | { 915 | "cell_type": "code", 916 | "metadata": { 917 | "colab": { 918 | "base_uri": "https://localhost:8080/" 919 | }, 920 | "id": "4vBN3oi422e7", 921 | "outputId": "7b136890-cd62-49f6-cf80-0c97e7c78202" 922 | }, 923 | "source": [ 924 | "np.argmin(ranarr)" 925 | ], 926 | "execution_count": 28, 927 | "outputs": [ 928 | { 929 | "output_type": "execute_result", 930 | "data": { 931 | "text/plain": [ 932 | "4" 933 | ] 934 | }, 935 | "metadata": { 936 | "tags": [] 937 | }, 938 | "execution_count": 28 939 | } 940 | ] 941 | }, 942 | { 943 | "cell_type": "code", 944 | "metadata": { 945 | "colab": { 946 | "base_uri": "https://localhost:8080/" 947 | }, 948 | "id": "SXGOQx1M25GJ", 949 | "outputId": "08f26e1d-7213-43f4-cd54-6df1992e4004" 950 | }, 951 | "source": [ 952 | "ranarr[2]" 953 | ], 954 | "execution_count": 113, 955 | "outputs": [ 956 | { 957 | "output_type": "execute_result", 958 | "data": { 959 | "text/plain": [ 960 | "26" 961 | ] 962 | }, 963 | "metadata": { 964 | "tags": [] 965 | }, 966 | "execution_count": 113 967 | } 968 | ] 969 | }, 970 | { 971 | "cell_type": "code", 972 | "metadata": { 973 | "colab": { 974 | "base_uri": "https://localhost:8080/" 975 | }, 976 | "id": "zEqOu7x0267i", 977 | "outputId": "8c159e29-13fd-4b94-ee11-05af98c0d5c7" 978 | }, 979 | "source": [ 980 | "np.argmax(ranarr)" 981 | ], 982 | "execution_count": 30, 983 | "outputs": [ 984 | { 985 | "output_type": "execute_result", 986 | "data": { 987 | "text/plain": [ 988 | "8" 989 | ] 990 | }, 991 | "metadata": { 992 | "tags": [] 993 | }, 994 | "execution_count": 30 995 | } 996 | ] 997 | }, 998 | { 999 | "cell_type": "code", 1000 | "metadata": { 1001 | "colab": { 1002 | "base_uri": "https://localhost:8080/" 1003 | }, 1004 | "id": "jF96v_Sp2-_h", 1005 | "outputId": "de4d5ec0-0c11-46d8-cdfc-b7f254552354" 1006 | }, 1007 | "source": [ 1008 | "ranarr[8]" 1009 | ], 1010 | "execution_count": 31, 1011 | "outputs": [ 1012 | { 1013 | "output_type": "execute_result", 1014 | "data": { 1015 | "text/plain": [ 1016 | "48" 1017 | ] 1018 | }, 1019 | "metadata": { 1020 | "tags": [] 1021 | }, 1022 | "execution_count": 31 1023 | } 1024 | ] 1025 | }, 1026 | { 1027 | "cell_type": "markdown", 1028 | "metadata": { 1029 | "id": "GYz7lOJq3Wxt" 1030 | }, 1031 | "source": [ 1032 | "## Indexing, Selection and Broadcasting." 1033 | ] 1034 | }, 1035 | { 1036 | "cell_type": "code", 1037 | "metadata": { 1038 | "id": "X9Qzrcu73BQC" 1039 | }, 1040 | "source": [ 1041 | "arr = np.linspace(0,1,10)" 1042 | ], 1043 | "execution_count": 33, 1044 | "outputs": [] 1045 | }, 1046 | { 1047 | "cell_type": "code", 1048 | "metadata": { 1049 | "colab": { 1050 | "base_uri": "https://localhost:8080/" 1051 | }, 1052 | "id": "mZgFMkOZ3odi", 1053 | "outputId": "8106a737-d8db-4125-8e80-84262c40b930" 1054 | }, 1055 | "source": [ 1056 | "arr" 1057 | ], 1058 | "execution_count": 34, 1059 | "outputs": [ 1060 | { 1061 | "output_type": "execute_result", 1062 | "data": { 1063 | "text/plain": [ 1064 | "array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,\n", 1065 | " 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])" 1066 | ] 1067 | }, 1068 | "metadata": { 1069 | "tags": [] 1070 | }, 1071 | "execution_count": 34 1072 | } 1073 | ] 1074 | }, 1075 | { 1076 | "cell_type": "code", 1077 | "metadata": { 1078 | "id": "LBSn1Wjq3ugT" 1079 | }, 1080 | "source": [ 1081 | "#indexing. Just like lists" 1082 | ], 1083 | "execution_count": 35, 1084 | "outputs": [] 1085 | }, 1086 | { 1087 | "cell_type": "code", 1088 | "metadata": { 1089 | "colab": { 1090 | "base_uri": "https://localhost:8080/" 1091 | }, 1092 | "id": "gup8Wkfj30ky", 1093 | "outputId": "629f4ef9-ce43-4566-dc84-2e724c6cdb50" 1094 | }, 1095 | "source": [ 1096 | "arr[7]" 1097 | ], 1098 | "execution_count": 36, 1099 | "outputs": [ 1100 | { 1101 | "output_type": "execute_result", 1102 | "data": { 1103 | "text/plain": [ 1104 | "0.7777777777777777" 1105 | ] 1106 | }, 1107 | "metadata": { 1108 | "tags": [] 1109 | }, 1110 | "execution_count": 36 1111 | } 1112 | ] 1113 | }, 1114 | { 1115 | "cell_type": "code", 1116 | "metadata": { 1117 | "colab": { 1118 | "base_uri": "https://localhost:8080/" 1119 | }, 1120 | "id": "Hvs-4Ins31qp", 1121 | "outputId": "802af69e-a0f7-4aea-8949-fdf0d2f49125" 1122 | }, 1123 | "source": [ 1124 | "#slicing. \n", 1125 | "arr[0:7]" 1126 | ], 1127 | "execution_count": 37, 1128 | "outputs": [ 1129 | { 1130 | "output_type": "execute_result", 1131 | "data": { 1132 | "text/plain": [ 1133 | "array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,\n", 1134 | " 0.55555556, 0.66666667])" 1135 | ] 1136 | }, 1137 | "metadata": { 1138 | "tags": [] 1139 | }, 1140 | "execution_count": 37 1141 | } 1142 | ] 1143 | }, 1144 | { 1145 | "cell_type": "code", 1146 | "metadata": { 1147 | "colab": { 1148 | "base_uri": "https://localhost:8080/" 1149 | }, 1150 | "id": "BIDCOlgy34fW", 1151 | "outputId": "9ddcaaa7-9f3d-4ed0-edc7-3297a3b6e99e" 1152 | }, 1153 | "source": [ 1154 | "#Note that a slice is the view of the same array than a new array. \n", 1155 | "#Any changes made to the slice are reflected in the array. \n", 1156 | "arr[0:3] = 1000\n", 1157 | "arr" 1158 | ], 1159 | "execution_count": 38, 1160 | "outputs": [ 1161 | { 1162 | "output_type": "execute_result", 1163 | "data": { 1164 | "text/plain": [ 1165 | "array([1.00000000e+03, 1.00000000e+03, 1.00000000e+03, 3.33333333e-01,\n", 1166 | " 4.44444444e-01, 5.55555556e-01, 6.66666667e-01, 7.77777778e-01,\n", 1167 | " 8.88888889e-01, 1.00000000e+00])" 1168 | ] 1169 | }, 1170 | "metadata": { 1171 | "tags": [] 1172 | }, 1173 | "execution_count": 38 1174 | } 1175 | ] 1176 | }, 1177 | { 1178 | "cell_type": "code", 1179 | "metadata": { 1180 | "id": "6Ki6ehJf4GXn" 1181 | }, 1182 | "source": [ 1183 | "#In order to prevent that from happening. make a copy. \n", 1184 | "\n", 1185 | "# slice_array_version = array.copy()" 1186 | ], 1187 | "execution_count": 40, 1188 | "outputs": [] 1189 | }, 1190 | { 1191 | "cell_type": "markdown", 1192 | "metadata": { 1193 | "id": "omB4Lynr4YKV" 1194 | }, 1195 | "source": [ 1196 | "### Indexing a 2D array/" 1197 | ] 1198 | }, 1199 | { 1200 | "cell_type": "code", 1201 | "metadata": { 1202 | "colab": { 1203 | "base_uri": "https://localhost:8080/" 1204 | }, 1205 | "id": "wqu6_7c54S3H", 1206 | "outputId": "49c50be6-f9b4-4d50-a89c-8dbfa4474f6b" 1207 | }, 1208 | "source": [ 1209 | "a2d = np.array(([5,10,15],[20,25,30],[35,40,45]))\n", 1210 | "\n", 1211 | "a2d" 1212 | ], 1213 | "execution_count": 41, 1214 | "outputs": [ 1215 | { 1216 | "output_type": "execute_result", 1217 | "data": { 1218 | "text/plain": [ 1219 | "array([[ 5, 10, 15],\n", 1220 | " [20, 25, 30],\n", 1221 | " [35, 40, 45]])" 1222 | ] 1223 | }, 1224 | "metadata": { 1225 | "tags": [] 1226 | }, 1227 | "execution_count": 41 1228 | } 1229 | ] 1230 | }, 1231 | { 1232 | "cell_type": "code", 1233 | "metadata": { 1234 | "colab": { 1235 | "base_uri": "https://localhost:8080/" 1236 | }, 1237 | "id": "AZFrG4G44dy_", 1238 | "outputId": "b040fc20-b450-44e9-d404-30f59137a884" 1239 | }, 1240 | "source": [ 1241 | "a2d[0,1]" 1242 | ], 1243 | "execution_count": 43, 1244 | "outputs": [ 1245 | { 1246 | "output_type": "execute_result", 1247 | "data": { 1248 | "text/plain": [ 1249 | "10" 1250 | ] 1251 | }, 1252 | "metadata": { 1253 | "tags": [] 1254 | }, 1255 | "execution_count": 43 1256 | } 1257 | ] 1258 | }, 1259 | { 1260 | "cell_type": "code", 1261 | "metadata": { 1262 | "id": "tK2qqIMo4hRd" 1263 | }, 1264 | "source": [ 1265 | "# a2d[ rowmin : rowmax+1 , :]" 1266 | ], 1267 | "execution_count": 44, 1268 | "outputs": [] 1269 | }, 1270 | { 1271 | "cell_type": "code", 1272 | "metadata": { 1273 | "colab": { 1274 | "base_uri": "https://localhost:8080/" 1275 | }, 1276 | "id": "c9mZA9p44n8Q", 1277 | "outputId": "093b5799-26ac-4b15-815f-a74f3ddf8a5f" 1278 | }, 1279 | "source": [ 1280 | "a2d[:2,1:]" 1281 | ], 1282 | "execution_count": 45, 1283 | "outputs": [ 1284 | { 1285 | "output_type": "execute_result", 1286 | "data": { 1287 | "text/plain": [ 1288 | "array([[10, 15],\n", 1289 | " [25, 30]])" 1290 | ] 1291 | }, 1292 | "metadata": { 1293 | "tags": [] 1294 | }, 1295 | "execution_count": 45 1296 | } 1297 | ] 1298 | }, 1299 | { 1300 | "cell_type": "markdown", 1301 | "metadata": { 1302 | "id": "Bu811q-u4tgE" 1303 | }, 1304 | "source": [ 1305 | "## Selection based on a condition" 1306 | ] 1307 | }, 1308 | { 1309 | "cell_type": "code", 1310 | "metadata": { 1311 | "colab": { 1312 | "base_uri": "https://localhost:8080/" 1313 | }, 1314 | "id": "gmBIqJoe4qXR", 1315 | "outputId": "a4a2ec1a-61ee-43be-d401-cb363dbf1ce6" 1316 | }, 1317 | "source": [ 1318 | "Marks = np.random.randint(1,100,1000)\n", 1319 | "\n", 1320 | "Marks" 1321 | ], 1322 | "execution_count": 117, 1323 | "outputs": [ 1324 | { 1325 | "output_type": "execute_result", 1326 | "data": { 1327 | "text/plain": [ 1328 | "array([36, 63, 34, 66, 94, 26, 33, 68, 84, 46, 21, 44, 73, 5, 5, 1, 44,\n", 1329 | " 48, 2, 71, 81, 55, 66, 27, 59, 55, 11, 55, 21, 11, 84, 34, 27, 37,\n", 1330 | " 13, 31, 19, 36, 39, 81, 94, 23, 17, 22, 69, 65, 41, 36, 64, 12, 77,\n", 1331 | " 66, 62, 11, 92, 53, 13, 75, 80, 20, 90, 69, 87, 41, 50, 2, 75, 76,\n", 1332 | " 27, 82, 90, 25, 39, 82, 87, 41, 20, 80, 64, 9, 58, 35, 44, 83, 17,\n", 1333 | " 30, 97, 25, 39, 27, 6, 81, 77, 67, 75, 69, 79, 6, 95, 26, 98, 71,\n", 1334 | " 15, 60, 88, 62, 25, 1, 89, 81, 39, 23, 26, 5, 68, 74, 29, 29, 70,\n", 1335 | " 98, 20, 31, 5, 53, 64, 11, 75, 80, 88, 73, 83, 36, 19, 14, 2, 13,\n", 1336 | " 76, 4, 15, 79, 53, 15, 19, 72, 22, 88, 14, 11, 68, 12, 11, 81, 34,\n", 1337 | " 80, 57, 68, 99, 57, 57, 77, 33, 46, 21, 73, 84, 18, 76, 49, 69, 70,\n", 1338 | " 8, 96, 86, 93, 52, 22, 4, 26, 35, 24, 94, 23, 35, 11, 83, 15, 40,\n", 1339 | " 20, 67, 96, 54, 67, 50, 47, 6, 88, 23, 93, 69, 96, 81, 82, 37, 26,\n", 1340 | " 59, 72, 55, 52, 56, 45, 9, 14, 98, 5, 57, 54, 44, 77, 70, 69, 95,\n", 1341 | " 75, 78, 12, 49, 55, 64, 65, 89, 59, 79, 90, 75, 19, 32, 20, 25, 21,\n", 1342 | " 31, 78, 81, 34, 31, 3, 8, 68, 63, 9, 17, 84, 33, 66, 8, 27, 58,\n", 1343 | " 30, 16, 96, 22, 49, 66, 51, 6, 63, 75, 28, 80, 43, 77, 30, 75, 63,\n", 1344 | " 76, 88, 35, 55, 80, 20, 95, 75, 7, 11, 23, 4, 71, 7, 24, 11, 80,\n", 1345 | " 11, 67, 96, 72, 56, 78, 11, 39, 63, 9, 21, 17, 89, 25, 99, 70, 78,\n", 1346 | " 16, 28, 99, 58, 3, 30, 90, 48, 58, 21, 8, 83, 10, 24, 91, 89, 89,\n", 1347 | " 30, 26, 44, 82, 14, 59, 45, 15, 83, 42, 44, 70, 93, 94, 38, 91, 6,\n", 1348 | " 16, 52, 83, 19, 40, 70, 91, 82, 9, 82, 50, 49, 82, 90, 24, 87, 67,\n", 1349 | " 63, 7, 35, 57, 36, 56, 27, 10, 70, 44, 45, 84, 11, 75, 64, 67, 33,\n", 1350 | " 45, 79, 32, 91, 56, 57, 47, 95, 80, 67, 81, 27, 84, 10, 26, 83, 79,\n", 1351 | " 79, 37, 40, 56, 27, 34, 2, 22, 76, 74, 24, 26, 32, 45, 80, 90, 16,\n", 1352 | " 61, 35, 59, 65, 84, 36, 30, 51, 93, 6, 53, 57, 69, 32, 10, 63, 5,\n", 1353 | " 58, 38, 79, 54, 9, 72, 47, 92, 34, 14, 10, 42, 26, 91, 24, 84, 8,\n", 1354 | " 84, 65, 7, 15, 72, 6, 88, 53, 10, 66, 46, 91, 39, 50, 30, 56, 45,\n", 1355 | " 14, 84, 31, 54, 59, 64, 24, 82, 19, 32, 49, 9, 19, 42, 63, 22, 11,\n", 1356 | " 46, 67, 14, 48, 11, 45, 75, 75, 58, 5, 21, 55, 61, 97, 89, 20, 4,\n", 1357 | " 86, 91, 87, 45, 9, 56, 94, 75, 65, 17, 85, 9, 75, 33, 40, 64, 8,\n", 1358 | " 10, 93, 82, 78, 75, 41, 3, 46, 30, 11, 53, 61, 79, 86, 31, 75, 8,\n", 1359 | " 68, 50, 36, 95, 95, 34, 86, 88, 74, 93, 57, 64, 4, 72, 69, 87, 39,\n", 1360 | " 46, 74, 11, 46, 44, 9, 95, 99, 92, 4, 92, 36, 95, 36, 79, 50, 91,\n", 1361 | " 88, 66, 63, 24, 98, 81, 25, 89, 65, 39, 61, 42, 10, 64, 98, 56, 69,\n", 1362 | " 49, 72, 65, 39, 30, 57, 54, 7, 94, 45, 40, 58, 74, 8, 92, 91, 58,\n", 1363 | " 21, 34, 90, 10, 4, 97, 31, 92, 8, 5, 72, 64, 81, 49, 57, 5, 97,\n", 1364 | " 69, 91, 26, 42, 86, 16, 10, 75, 48, 38, 27, 10, 41, 48, 10, 99, 72,\n", 1365 | " 55, 22, 88, 1, 44, 83, 36, 42, 85, 42, 67, 24, 61, 22, 83, 31, 61,\n", 1366 | " 64, 34, 80, 44, 34, 69, 52, 5, 2, 47, 3, 49, 55, 50, 65, 87, 96,\n", 1367 | " 41, 83, 21, 42, 8, 18, 72, 91, 30, 50, 26, 37, 62, 31, 37, 8, 67,\n", 1368 | " 86, 52, 54, 65, 26, 89, 8, 84, 58, 98, 98, 4, 97, 53, 38, 18, 52,\n", 1369 | " 19, 63, 10, 72, 98, 53, 81, 72, 85, 90, 25, 23, 29, 12, 17, 58, 56,\n", 1370 | " 47, 81, 4, 53, 48, 2, 90, 63, 76, 51, 81, 20, 74, 29, 66, 75, 17,\n", 1371 | " 56, 82, 97, 34, 23, 46, 77, 88, 97, 36, 55, 18, 5, 34, 40, 95, 31,\n", 1372 | " 39, 63, 56, 79, 39, 73, 60, 85, 46, 67, 34, 81, 54, 32, 23, 39, 2,\n", 1373 | " 58, 88, 67, 40, 90, 59, 39, 15, 80, 64, 78, 42, 32, 36, 7, 98, 26,\n", 1374 | " 36, 35, 99, 94, 43, 8, 35, 88, 42, 50, 11, 71, 52, 39, 85, 70, 47,\n", 1375 | " 55, 11, 51, 1, 9, 56, 88, 31, 77, 62, 83, 48, 61, 47, 8, 92, 73,\n", 1376 | " 97, 44, 43, 91, 50, 10, 45, 13, 73, 83, 23, 15, 94, 34, 74, 41, 34,\n", 1377 | " 65, 18, 33, 77, 66, 1, 76, 26, 54, 29, 62, 50, 24, 34, 61, 12, 60,\n", 1378 | " 53, 46, 2, 96, 6, 1, 50, 98, 80, 55, 41, 23, 44, 31, 56, 11, 68,\n", 1379 | " 86, 30, 87, 90, 58, 5, 34, 5, 28, 81, 91, 2, 58, 32, 72, 96, 6,\n", 1380 | " 13, 47, 55, 12, 23, 54, 83, 12, 8, 8, 65, 44, 89, 57, 21, 48, 46,\n", 1381 | " 67, 1, 63, 9, 75, 37, 17, 77, 71, 91, 16, 28, 96, 70, 50, 48, 13,\n", 1382 | " 74, 57, 76, 98, 1, 32, 26, 99, 68, 41, 15, 53, 6, 62, 64, 39, 68,\n", 1383 | " 87, 13, 75, 31, 65, 97, 71, 9, 52, 48, 91, 77, 42, 47, 48, 4, 14,\n", 1384 | " 36, 77, 13, 25, 1, 13, 64, 24, 54, 98, 89, 98, 11, 16, 64, 3, 17,\n", 1385 | " 61, 75, 43, 33, 69, 6, 23, 51, 25, 89, 51, 95, 15, 80, 9, 68, 12,\n", 1386 | " 92, 37, 70, 51, 7, 90, 68, 2, 14, 8, 15, 7, 50, 93])" 1387 | ] 1388 | }, 1389 | "metadata": { 1390 | "tags": [] 1391 | }, 1392 | "execution_count": 117 1393 | } 1394 | ] 1395 | }, 1396 | { 1397 | "cell_type": "code", 1398 | "metadata": { 1399 | "id": "_VqJx6yn4zDG" 1400 | }, 1401 | "source": [ 1402 | "selected = Marks[Marks>75]" 1403 | ], 1404 | "execution_count": 50, 1405 | "outputs": [] 1406 | }, 1407 | { 1408 | "cell_type": "code", 1409 | "metadata": { 1410 | "id": "J0NPyAq5UtDs", 1411 | "outputId": "25b0a3bc-3556-452c-b587-04df5d4bb6ba", 1412 | "colab": { 1413 | "base_uri": "https://localhost:8080/" 1414 | } 1415 | }, 1416 | "source": [ 1417 | "Marks[Marks>75].shape" 1418 | ], 1419 | "execution_count": 120, 1420 | "outputs": [ 1421 | { 1422 | "output_type": "execute_result", 1423 | "data": { 1424 | "text/plain": [ 1425 | "(239,)" 1426 | ] 1427 | }, 1428 | "metadata": { 1429 | "tags": [] 1430 | }, 1431 | "execution_count": 120 1432 | } 1433 | ] 1434 | }, 1435 | { 1436 | "cell_type": "code", 1437 | "metadata": { 1438 | "colab": { 1439 | "base_uri": "https://localhost:8080/" 1440 | }, 1441 | "id": "ZZAlcNkR46en", 1442 | "outputId": "a2a1dfc9-b508-47eb-e56a-390306f88885" 1443 | }, 1444 | "source": [ 1445 | "selected" 1446 | ], 1447 | "execution_count": 51, 1448 | "outputs": [ 1449 | { 1450 | "output_type": "execute_result", 1451 | "data": { 1452 | "text/plain": [ 1453 | "array([96, 84, 79, 83, 97, 84, 92, 87, 78, 79, 83, 84, 78, 87, 80, 80, 86,\n", 1454 | " 78, 96, 79, 82, 80, 77, 88, 77, 90, 93, 78, 91, 95, 90, 78, 86, 80,\n", 1455 | " 88, 97, 99, 94, 97, 81, 81, 80, 99, 83, 84, 92, 95, 85, 91, 97, 89,\n", 1456 | " 82, 99, 80, 77, 77, 89, 92, 80, 95, 99, 76, 76, 88, 97, 96, 85, 95,\n", 1457 | " 98, 86, 87, 86, 83, 97, 88, 86, 93, 93, 86, 96, 89, 80, 88, 95, 82,\n", 1458 | " 79, 98, 79, 77, 87, 79, 88, 85, 77, 95, 95, 76, 89, 97, 81, 89, 85,\n", 1459 | " 94, 80, 82, 95, 93, 85, 92, 76, 86, 86, 91, 85, 91, 80, 80, 80, 93,\n", 1460 | " 85, 85, 90, 87, 98, 96, 78, 99, 97, 99, 90, 93, 88, 86, 94, 83, 91,\n", 1461 | " 85, 87, 82, 76, 82, 80, 90, 96, 96, 85, 85, 80, 97, 82, 82, 86, 95,\n", 1462 | " 86, 76, 98, 90, 83, 85, 84, 88, 85, 85, 99, 80, 93, 83, 85, 77, 80,\n", 1463 | " 91, 94, 80, 92, 90, 76, 91, 83, 93, 97, 93, 76, 86, 78, 79, 78, 93,\n", 1464 | " 91, 98, 93, 99, 87, 92, 77, 99, 88, 97, 86, 83, 88, 94, 92, 93, 92,\n", 1465 | " 93, 92, 91, 97, 94, 77, 79, 98, 77, 87, 98, 98, 91, 76, 95, 87, 92,\n", 1466 | " 82, 91, 93, 93, 89, 77, 90, 82, 78, 79, 77, 91, 80, 91, 99, 95, 80,\n", 1467 | " 78, 76, 83, 90, 77, 84])" 1468 | ] 1469 | }, 1470 | "metadata": { 1471 | "tags": [] 1472 | }, 1473 | "execution_count": 51 1474 | } 1475 | ] 1476 | }, 1477 | { 1478 | "cell_type": "markdown", 1479 | "metadata": { 1480 | "id": "WC2m-5lR5Kr0" 1481 | }, 1482 | "source": [ 1483 | "## Operations : Note that NumPy arrays operate on term by term basis. Each operation is applied to every term." 1484 | ] 1485 | }, 1486 | { 1487 | "cell_type": "code", 1488 | "metadata": { 1489 | "id": "O9PIDIJS4-xq" 1490 | }, 1491 | "source": [ 1492 | "A = np.arange(0,10)" 1493 | ], 1494 | "execution_count": 52, 1495 | "outputs": [] 1496 | }, 1497 | { 1498 | "cell_type": "code", 1499 | "metadata": { 1500 | "colab": { 1501 | "base_uri": "https://localhost:8080/" 1502 | }, 1503 | "id": "MPdoVsGL5VV4", 1504 | "outputId": "6ff89b07-562d-4f79-fe20-9f34d6ec3458" 1505 | }, 1506 | "source": [ 1507 | "A**2" 1508 | ], 1509 | "execution_count": 54, 1510 | "outputs": [ 1511 | { 1512 | "output_type": "execute_result", 1513 | "data": { 1514 | "text/plain": [ 1515 | "array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81])" 1516 | ] 1517 | }, 1518 | "metadata": { 1519 | "tags": [] 1520 | }, 1521 | "execution_count": 54 1522 | } 1523 | ] 1524 | }, 1525 | { 1526 | "cell_type": "code", 1527 | "metadata": { 1528 | "colab": { 1529 | "base_uri": "https://localhost:8080/" 1530 | }, 1531 | "id": "twuY6ENr5WJM", 1532 | "outputId": "49509091-8322-49fa-8c39-8d29689603cf" 1533 | }, 1534 | "source": [ 1535 | "A + A" 1536 | ], 1537 | "execution_count": 55, 1538 | "outputs": [ 1539 | { 1540 | "output_type": "execute_result", 1541 | "data": { 1542 | "text/plain": [ 1543 | "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])" 1544 | ] 1545 | }, 1546 | "metadata": { 1547 | "tags": [] 1548 | }, 1549 | "execution_count": 55 1550 | } 1551 | ] 1552 | }, 1553 | { 1554 | "cell_type": "code", 1555 | "metadata": { 1556 | "colab": { 1557 | "base_uri": "https://localhost:8080/" 1558 | }, 1559 | "id": "l4Gf9DQo5YrK", 1560 | "outputId": "7c3cee6c-04c2-450f-d0fc-8686dba85619" 1561 | }, 1562 | "source": [ 1563 | "np.sin(A)" 1564 | ], 1565 | "execution_count": 56, 1566 | "outputs": [ 1567 | { 1568 | "output_type": "execute_result", 1569 | "data": { 1570 | "text/plain": [ 1571 | "array([ 0. , 0.84147098, 0.90929743, 0.14112001, -0.7568025 ,\n", 1572 | " -0.95892427, -0.2794155 , 0.6569866 , 0.98935825, 0.41211849])" 1573 | ] 1574 | }, 1575 | "metadata": { 1576 | "tags": [] 1577 | }, 1578 | "execution_count": 56 1579 | } 1580 | ] 1581 | }, 1582 | { 1583 | "cell_type": "code", 1584 | "metadata": { 1585 | "colab": { 1586 | "base_uri": "https://localhost:8080/" 1587 | }, 1588 | "id": "KXe5isMn5bCE", 1589 | "outputId": "8e7a4cbd-b24b-4c08-c0d8-ee03b14405c5" 1590 | }, 1591 | "source": [ 1592 | "np.cos(A)" 1593 | ], 1594 | "execution_count": 57, 1595 | "outputs": [ 1596 | { 1597 | "output_type": "execute_result", 1598 | "data": { 1599 | "text/plain": [ 1600 | "array([ 1. , 0.54030231, -0.41614684, -0.9899925 , -0.65364362,\n", 1601 | " 0.28366219, 0.96017029, 0.75390225, -0.14550003, -0.91113026])" 1602 | ] 1603 | }, 1604 | "metadata": { 1605 | "tags": [] 1606 | }, 1607 | "execution_count": 57 1608 | } 1609 | ] 1610 | }, 1611 | { 1612 | "cell_type": "markdown", 1613 | "metadata": { 1614 | "id": "ZtXFc-2v5efq" 1615 | }, 1616 | "source": [ 1617 | "These are Universal Array Functions. \n", 1618 | "\n", 1619 | "Further reading : http://docs.scipy.org/doc/numpy/reference/ufuncs.html" 1620 | ] 1621 | }, 1622 | { 1623 | "cell_type": "code", 1624 | "metadata": { 1625 | "id": "-wsnHETP5cNe" 1626 | }, 1627 | "source": [ 1628 | "###################################################################" 1629 | ], 1630 | "execution_count": 58, 1631 | "outputs": [] 1632 | }, 1633 | { 1634 | "cell_type": "markdown", 1635 | "metadata": { 1636 | "id": "tAjzYbek5-xt" 1637 | }, 1638 | "source": [ 1639 | "## 2. Python Pandas : The Ms. Excel of Python." 1640 | ] 1641 | }, 1642 | { 1643 | "cell_type": "markdown", 1644 | "metadata": { 1645 | "id": "L4n61bBH6YML" 1646 | }, 1647 | "source": [ 1648 | "### 2.1 Python Series : Like a Named Array/" 1649 | ] 1650 | }, 1651 | { 1652 | "cell_type": "markdown", 1653 | "metadata": { 1654 | "id": "vOzjhc0tVJlt" 1655 | }, 1656 | "source": [ 1657 | "NumPy -- Series --- DataFrame " 1658 | ] 1659 | }, 1660 | { 1661 | "cell_type": "code", 1662 | "metadata": { 1663 | "id": "sG9noWeN6mjG" 1664 | }, 1665 | "source": [ 1666 | "import pandas as pd" 1667 | ], 1668 | "execution_count": 121, 1669 | "outputs": [] 1670 | }, 1671 | { 1672 | "cell_type": "code", 1673 | "metadata": { 1674 | "id": "Nkd7C6_B57O-" 1675 | }, 1676 | "source": [ 1677 | "values = [1,2,3,4,5]\n", 1678 | "labels = ['a' , 'b' , 'c' , 'd' , 'e']" 1679 | ], 1680 | "execution_count": 59, 1681 | "outputs": [] 1682 | }, 1683 | { 1684 | "cell_type": "code", 1685 | "metadata": { 1686 | "id": "My4i_w0o6ihC" 1687 | }, 1688 | "source": [ 1689 | "S = pd.Series(values,labels)" 1690 | ], 1691 | "execution_count": 62, 1692 | "outputs": [] 1693 | }, 1694 | { 1695 | "cell_type": "code", 1696 | "metadata": { 1697 | "colab": { 1698 | "base_uri": "https://localhost:8080/" 1699 | }, 1700 | "id": "RAIVZF2Q6k8R", 1701 | "outputId": "843edabd-84cc-47ec-99ee-508787e43a71" 1702 | }, 1703 | "source": [ 1704 | "S" 1705 | ], 1706 | "execution_count": 63, 1707 | "outputs": [ 1708 | { 1709 | "output_type": "execute_result", 1710 | "data": { 1711 | "text/plain": [ 1712 | "a 1\n", 1713 | "b 2\n", 1714 | "c 3\n", 1715 | "d 4\n", 1716 | "e 5\n", 1717 | "dtype: int64" 1718 | ] 1719 | }, 1720 | "metadata": { 1721 | "tags": [] 1722 | }, 1723 | "execution_count": 63 1724 | } 1725 | ] 1726 | }, 1727 | { 1728 | "cell_type": "code", 1729 | "metadata": { 1730 | "colab": { 1731 | "base_uri": "https://localhost:8080/" 1732 | }, 1733 | "id": "Ma2FfYof6rJt", 1734 | "outputId": "c707da0e-7f06-4239-ba54-98e813fbe979" 1735 | }, 1736 | "source": [ 1737 | "S['a']" 1738 | ], 1739 | "execution_count": 64, 1740 | "outputs": [ 1741 | { 1742 | "output_type": "execute_result", 1743 | "data": { 1744 | "text/plain": [ 1745 | "1" 1746 | ] 1747 | }, 1748 | "metadata": { 1749 | "tags": [] 1750 | }, 1751 | "execution_count": 64 1752 | } 1753 | ] 1754 | }, 1755 | { 1756 | "cell_type": "code", 1757 | "metadata": { 1758 | "colab": { 1759 | "base_uri": "https://localhost:8080/" 1760 | }, 1761 | "id": "-MXIkPCE6udt", 1762 | "outputId": "83f50dc0-9ecd-4389-a187-226a99e4df34" 1763 | }, 1764 | "source": [ 1765 | "pd.Series(values,index = labels)" 1766 | ], 1767 | "execution_count": 65, 1768 | "outputs": [ 1769 | { 1770 | "output_type": "execute_result", 1771 | "data": { 1772 | "text/plain": [ 1773 | "a 1\n", 1774 | "b 2\n", 1775 | "c 3\n", 1776 | "d 4\n", 1777 | "e 5\n", 1778 | "dtype: int64" 1779 | ] 1780 | }, 1781 | "metadata": { 1782 | "tags": [] 1783 | }, 1784 | "execution_count": 65 1785 | } 1786 | ] 1787 | }, 1788 | { 1789 | "cell_type": "markdown", 1790 | "metadata": { 1791 | "id": "tEfNKHT166p1" 1792 | }, 1793 | "source": [ 1794 | "## 2.2 : DataFrames" 1795 | ] 1796 | }, 1797 | { 1798 | "cell_type": "markdown", 1799 | "metadata": { 1800 | "id": "OAq0xjVHWNYt" 1801 | }, 1802 | "source": [ 1803 | "1. DF from a Dictionary." 1804 | ] 1805 | }, 1806 | { 1807 | "cell_type": "code", 1808 | "metadata": { 1809 | "id": "aruf1_xa60k6" 1810 | }, 1811 | "source": [ 1812 | "rock = {'phi': [0.05 , 0.20 , 0.25 , 0.08],\n", 1813 | " 'lith': ['C', 'S', 'S','C']}\n", 1814 | "\n", 1815 | "rock_df = pd.DataFrame(rock)" 1816 | ], 1817 | "execution_count": 122, 1818 | "outputs": [] 1819 | }, 1820 | { 1821 | "cell_type": "code", 1822 | "metadata": { 1823 | "colab": { 1824 | "base_uri": "https://localhost:8080/", 1825 | "height": 172 1826 | }, 1827 | "id": "hdWCCrZR7MlY", 1828 | "outputId": "e088809c-6fd1-4829-a76b-3e67568528e3" 1829 | }, 1830 | "source": [ 1831 | "rock_df" 1832 | ], 1833 | "execution_count": 123, 1834 | "outputs": [ 1835 | { 1836 | "output_type": "execute_result", 1837 | "data": { 1838 | "text/html": [ 1839 | "
\n", 1840 | "\n", 1853 | "\n", 1854 | " \n", 1855 | " \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 | " \n", 1880 | " \n", 1881 | " \n", 1882 | " \n", 1883 | "
philith
00.05C
10.20S
20.25S
30.08C
\n", 1884 | "
" 1885 | ], 1886 | "text/plain": [ 1887 | " phi lith\n", 1888 | "0 0.05 C\n", 1889 | "1 0.20 S\n", 1890 | "2 0.25 S\n", 1891 | "3 0.08 C" 1892 | ] 1893 | }, 1894 | "metadata": { 1895 | "tags": [] 1896 | }, 1897 | "execution_count": 123 1898 | } 1899 | ] 1900 | }, 1901 | { 1902 | "cell_type": "code", 1903 | "metadata": { 1904 | "colab": { 1905 | "base_uri": "https://localhost:8080/" 1906 | }, 1907 | "id": "y1G-g5gL7R9K", 1908 | "outputId": "d3a2f111-e2a6-4768-acb4-b506d7ac6533" 1909 | }, 1910 | "source": [ 1911 | "rock['phi']" 1912 | ], 1913 | "execution_count": 124, 1914 | "outputs": [ 1915 | { 1916 | "output_type": "execute_result", 1917 | "data": { 1918 | "text/plain": [ 1919 | "[0.05, 0.2, 0.25, 0.08]" 1920 | ] 1921 | }, 1922 | "metadata": { 1923 | "tags": [] 1924 | }, 1925 | "execution_count": 124 1926 | } 1927 | ] 1928 | }, 1929 | { 1930 | "cell_type": "code", 1931 | "metadata": { 1932 | "id": "L7PnJwJS7mAp" 1933 | }, 1934 | "source": [ 1935 | "#Creating a DataFrame from an array." 1936 | ], 1937 | "execution_count": 70, 1938 | "outputs": [] 1939 | }, 1940 | { 1941 | "cell_type": "code", 1942 | "metadata": { 1943 | "colab": { 1944 | "base_uri": "https://localhost:8080/", 1945 | "height": 203 1946 | }, 1947 | "id": "GFOEQ0Dd7t7R", 1948 | "outputId": "36084178-2f31-4e27-9f05-861cc6ac2d77" 1949 | }, 1950 | "source": [ 1951 | "df = pd.DataFrame(data = np.random.randn(5,4),index='A B C D E'.split(),columns='W X Y Z'.split())\n", 1952 | "\n", 1953 | "df" 1954 | ], 1955 | "execution_count": 125, 1956 | "outputs": [ 1957 | { 1958 | "output_type": "execute_result", 1959 | "data": { 1960 | "text/html": [ 1961 | "
\n", 1962 | "\n", 1975 | "\n", 1976 | " \n", 1977 | " \n", 1978 | " \n", 1979 | " \n", 1980 | " \n", 1981 | " \n", 1982 | " \n", 1983 | " \n", 1984 | " \n", 1985 | " \n", 1986 | " \n", 1987 | " \n", 1988 | " \n", 1989 | " \n", 1990 | " \n", 1991 | " \n", 1992 | " \n", 1993 | " \n", 1994 | " \n", 1995 | " \n", 1996 | " \n", 1997 | " \n", 1998 | " \n", 1999 | " \n", 2000 | " \n", 2001 | " \n", 2002 | " \n", 2003 | " \n", 2004 | " \n", 2005 | " \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 | "
WXYZ
A-1.182853-0.513556-0.5156980.494726
B-0.5771240.886354-1.588290-1.587124
C-0.2407990.123911-1.0016340.902924
D-0.4276750.080528-0.625017-0.778859
E2.2489560.2648560.344202-1.435114
\n", 2023 | "
" 2024 | ], 2025 | "text/plain": [ 2026 | " W X Y Z\n", 2027 | "A -1.182853 -0.513556 -0.515698 0.494726\n", 2028 | "B -0.577124 0.886354 -1.588290 -1.587124\n", 2029 | "C -0.240799 0.123911 -1.001634 0.902924\n", 2030 | "D -0.427675 0.080528 -0.625017 -0.778859\n", 2031 | "E 2.248956 0.264856 0.344202 -1.435114" 2032 | ] 2033 | }, 2034 | "metadata": { 2035 | "tags": [] 2036 | }, 2037 | "execution_count": 125 2038 | } 2039 | ] 2040 | }, 2041 | { 2042 | "cell_type": "code", 2043 | "metadata": { 2044 | "id": "cXeuQriC7wZQ" 2045 | }, 2046 | "source": [ 2047 | "# df" 2048 | ], 2049 | "execution_count": 126, 2050 | "outputs": [] 2051 | }, 2052 | { 2053 | "cell_type": "code", 2054 | "metadata": { 2055 | "colab": { 2056 | "base_uri": "https://localhost:8080/" 2057 | }, 2058 | "id": "e7yWUvZm7zrn", 2059 | "outputId": "732dc5a8-de52-46f6-d8ec-925945d84bca" 2060 | }, 2061 | "source": [ 2062 | "df['W']" 2063 | ], 2064 | "execution_count": 74, 2065 | "outputs": [ 2066 | { 2067 | "output_type": "execute_result", 2068 | "data": { 2069 | "text/plain": [ 2070 | "A -0.709325\n", 2071 | "B 0.239717\n", 2072 | "C -0.833494\n", 2073 | "D 0.252288\n", 2074 | "E -0.012246\n", 2075 | "Name: W, dtype: float64" 2076 | ] 2077 | }, 2078 | "metadata": { 2079 | "tags": [] 2080 | }, 2081 | "execution_count": 74 2082 | } 2083 | ] 2084 | }, 2085 | { 2086 | "cell_type": "code", 2087 | "metadata": { 2088 | "colab": { 2089 | "base_uri": "https://localhost:8080/", 2090 | "height": 203 2091 | }, 2092 | "id": "v7YdfZyG71gi", 2093 | "outputId": "db5b4421-0fd5-43d2-d0b7-613c7620cbef" 2094 | }, 2095 | "source": [ 2096 | "#Adding a NEw column. \n", 2097 | "\n", 2098 | "df['W_squared'] = df['W']**2\n", 2099 | "\n", 2100 | "df" 2101 | ], 2102 | "execution_count": 76, 2103 | "outputs": [ 2104 | { 2105 | "output_type": "execute_result", 2106 | "data": { 2107 | "text/html": [ 2108 | "
\n", 2109 | "\n", 2122 | "\n", 2123 | " \n", 2124 | " \n", 2125 | " \n", 2126 | " \n", 2127 | " \n", 2128 | " \n", 2129 | " \n", 2130 | " \n", 2131 | " \n", 2132 | " \n", 2133 | " \n", 2134 | " \n", 2135 | " \n", 2136 | " \n", 2137 | " \n", 2138 | " \n", 2139 | " \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 | " \n", 2171 | " \n", 2172 | " \n", 2173 | " \n", 2174 | " \n", 2175 | "
WXYZW_squared
A-0.709325-0.3989912.2557071.2864250.503142
B0.239717-0.993057-1.434999-0.7775270.057464
C-0.8334940.910116-0.2498910.3425040.694712
D0.252288-0.240984-0.607454-0.2664290.063649
E-0.012246-0.213262-1.522099-0.7274740.000150
\n", 2176 | "
" 2177 | ], 2178 | "text/plain": [ 2179 | " W X Y Z W_squared\n", 2180 | "A -0.709325 -0.398991 2.255707 1.286425 0.503142\n", 2181 | "B 0.239717 -0.993057 -1.434999 -0.777527 0.057464\n", 2182 | "C -0.833494 0.910116 -0.249891 0.342504 0.694712\n", 2183 | "D 0.252288 -0.240984 -0.607454 -0.266429 0.063649\n", 2184 | "E -0.012246 -0.213262 -1.522099 -0.727474 0.000150" 2185 | ] 2186 | }, 2187 | "metadata": { 2188 | "tags": [] 2189 | }, 2190 | "execution_count": 76 2191 | } 2192 | ] 2193 | }, 2194 | { 2195 | "cell_type": "code", 2196 | "metadata": { 2197 | "colab": { 2198 | "base_uri": "https://localhost:8080/", 2199 | "height": 203 2200 | }, 2201 | "id": "iMB8ZIXO7_PA", 2202 | "outputId": "0d4dfb84-ab6d-4577-b875-7af14674e1b2" 2203 | }, 2204 | "source": [ 2205 | "df['new'] = df['X'] + df['Y']\n", 2206 | "\n", 2207 | "df" 2208 | ], 2209 | "execution_count": 77, 2210 | "outputs": [ 2211 | { 2212 | "output_type": "execute_result", 2213 | "data": { 2214 | "text/html": [ 2215 | "
\n", 2216 | "\n", 2229 | "\n", 2230 | " \n", 2231 | " \n", 2232 | " \n", 2233 | " \n", 2234 | " \n", 2235 | " \n", 2236 | " \n", 2237 | " \n", 2238 | " \n", 2239 | " \n", 2240 | " \n", 2241 | " \n", 2242 | " \n", 2243 | " \n", 2244 | " \n", 2245 | " \n", 2246 | " \n", 2247 | " \n", 2248 | " \n", 2249 | " \n", 2250 | " \n", 2251 | " \n", 2252 | " \n", 2253 | " \n", 2254 | " \n", 2255 | " \n", 2256 | " \n", 2257 | " \n", 2258 | " \n", 2259 | " \n", 2260 | " \n", 2261 | " \n", 2262 | " \n", 2263 | " \n", 2264 | " \n", 2265 | " \n", 2266 | " \n", 2267 | " \n", 2268 | " \n", 2269 | " \n", 2270 | " \n", 2271 | " \n", 2272 | " \n", 2273 | " \n", 2274 | " \n", 2275 | " \n", 2276 | " \n", 2277 | " \n", 2278 | " \n", 2279 | " \n", 2280 | " \n", 2281 | " \n", 2282 | " \n", 2283 | " \n", 2284 | " \n", 2285 | " \n", 2286 | " \n", 2287 | " \n", 2288 | "
WXYZW_squarednew
A-0.709325-0.3989912.2557071.2864250.5031421.856716
B0.239717-0.993057-1.434999-0.7775270.057464-2.428056
C-0.8334940.910116-0.2498910.3425040.6947120.660225
D0.252288-0.240984-0.607454-0.2664290.063649-0.848438
E-0.012246-0.213262-1.522099-0.7274740.000150-1.735361
\n", 2289 | "
" 2290 | ], 2291 | "text/plain": [ 2292 | " W X Y Z W_squared new\n", 2293 | "A -0.709325 -0.398991 2.255707 1.286425 0.503142 1.856716\n", 2294 | "B 0.239717 -0.993057 -1.434999 -0.777527 0.057464 -2.428056\n", 2295 | "C -0.833494 0.910116 -0.249891 0.342504 0.694712 0.660225\n", 2296 | "D 0.252288 -0.240984 -0.607454 -0.266429 0.063649 -0.848438\n", 2297 | "E -0.012246 -0.213262 -1.522099 -0.727474 0.000150 -1.735361" 2298 | ] 2299 | }, 2300 | "metadata": { 2301 | "tags": [] 2302 | }, 2303 | "execution_count": 77 2304 | } 2305 | ] 2306 | }, 2307 | { 2308 | "cell_type": "code", 2309 | "metadata": { 2310 | "colab": { 2311 | "base_uri": "https://localhost:8080/", 2312 | "height": 282 2313 | }, 2314 | "id": "2cEIl-009GLc", 2315 | "outputId": "a88b08d9-03f3-4816-e624-1975943788a9" 2316 | }, 2317 | "source": [ 2318 | "df.plot()" 2319 | ], 2320 | "execution_count": 78, 2321 | "outputs": [ 2322 | { 2323 | "output_type": "execute_result", 2324 | "data": { 2325 | "text/plain": [ 2326 | "" 2327 | ] 2328 | }, 2329 | "metadata": { 2330 | "tags": [] 2331 | }, 2332 | "execution_count": 78 2333 | }, 2334 | { 2335 | "output_type": "display_data", 2336 | "data": { 2337 | "image/png": "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\n", 2338 | "text/plain": [ 2339 | "
" 2340 | ] 2341 | }, 2342 | "metadata": { 2343 | "tags": [], 2344 | "needs_background": "light" 2345 | } 2346 | } 2347 | ] 2348 | }, 2349 | { 2350 | "cell_type": "markdown", 2351 | "metadata": { 2352 | "id": "Ki6MBGSI9QLK" 2353 | }, 2354 | "source": [ 2355 | "## Loc and I-Loc. \n", 2356 | "\n", 2357 | "1. loc starts with 'l' : so it considers labels. \n", 2358 | "\n", 2359 | "2. iloc starts with 'i' so it considers indexes." 2360 | ] 2361 | }, 2362 | { 2363 | "cell_type": "code", 2364 | "metadata": { 2365 | "colab": { 2366 | "base_uri": "https://localhost:8080/", 2367 | "height": 110 2368 | }, 2369 | "id": "xyKNfQEQ9H9P", 2370 | "outputId": "e3c22f35-f9db-4c41-e975-8fabf2363c85" 2371 | }, 2372 | "source": [ 2373 | "df.iloc[0:2,0:2]" 2374 | ], 2375 | "execution_count": 129, 2376 | "outputs": [ 2377 | { 2378 | "output_type": "execute_result", 2379 | "data": { 2380 | "text/html": [ 2381 | "
\n", 2382 | "\n", 2395 | "\n", 2396 | " \n", 2397 | " \n", 2398 | " \n", 2399 | " \n", 2400 | " \n", 2401 | " \n", 2402 | " \n", 2403 | " \n", 2404 | " \n", 2405 | " \n", 2406 | " \n", 2407 | " \n", 2408 | " \n", 2409 | " \n", 2410 | " \n", 2411 | " \n", 2412 | " \n", 2413 | " \n", 2414 | " \n", 2415 | "
WX
A-1.182853-0.513556
B-0.5771240.886354
\n", 2416 | "
" 2417 | ], 2418 | "text/plain": [ 2419 | " W X\n", 2420 | "A -1.182853 -0.513556\n", 2421 | "B -0.577124 0.886354" 2422 | ] 2423 | }, 2424 | "metadata": { 2425 | "tags": [] 2426 | }, 2427 | "execution_count": 129 2428 | } 2429 | ] 2430 | }, 2431 | { 2432 | "cell_type": "markdown", 2433 | "metadata": { 2434 | "id": "Cx-u2gAH9b_v" 2435 | }, 2436 | "source": [ 2437 | "### Pick first two rows using loc. " 2438 | ] 2439 | }, 2440 | { 2441 | "cell_type": "code", 2442 | "metadata": { 2443 | "colab": { 2444 | "base_uri": "https://localhost:8080/", 2445 | "height": 110 2446 | }, 2447 | "id": "tscoRC659a1N", 2448 | "outputId": "c6380e5a-9b23-4321-857e-6db96f241429" 2449 | }, 2450 | "source": [ 2451 | "df.loc['A':'B',:]" 2452 | ], 2453 | "execution_count": 80, 2454 | "outputs": [ 2455 | { 2456 | "output_type": "execute_result", 2457 | "data": { 2458 | "text/html": [ 2459 | "
\n", 2460 | "\n", 2473 | "\n", 2474 | " \n", 2475 | " \n", 2476 | " \n", 2477 | " \n", 2478 | " \n", 2479 | " \n", 2480 | " \n", 2481 | " \n", 2482 | " \n", 2483 | " \n", 2484 | " \n", 2485 | " \n", 2486 | " \n", 2487 | " \n", 2488 | " \n", 2489 | " \n", 2490 | " \n", 2491 | " \n", 2492 | " \n", 2493 | " \n", 2494 | " \n", 2495 | " \n", 2496 | " \n", 2497 | " \n", 2498 | " \n", 2499 | " \n", 2500 | " \n", 2501 | " \n", 2502 | " \n", 2503 | " \n", 2504 | " \n", 2505 | "
WXYZW_squarednew
A-0.709325-0.3989912.2557071.2864250.5031421.856716
B0.239717-0.993057-1.434999-0.7775270.057464-2.428056
\n", 2506 | "
" 2507 | ], 2508 | "text/plain": [ 2509 | " W X Y Z W_squared new\n", 2510 | "A -0.709325 -0.398991 2.255707 1.286425 0.503142 1.856716\n", 2511 | "B 0.239717 -0.993057 -1.434999 -0.777527 0.057464 -2.428056" 2512 | ] 2513 | }, 2514 | "metadata": { 2515 | "tags": [] 2516 | }, 2517 | "execution_count": 80 2518 | } 2519 | ] 2520 | }, 2521 | { 2522 | "cell_type": "markdown", 2523 | "metadata": { 2524 | "id": "cZeZHXiB9l6W" 2525 | }, 2526 | "source": [ 2527 | "### Pick first two rows using iloc." 2528 | ] 2529 | }, 2530 | { 2531 | "cell_type": "code", 2532 | "metadata": { 2533 | "colab": { 2534 | "base_uri": "https://localhost:8080/", 2535 | "height": 110 2536 | }, 2537 | "id": "wj8iJTMO9kYB", 2538 | "outputId": "94f586db-43d9-4784-ad75-ae2dc3989d4f" 2539 | }, 2540 | "source": [ 2541 | "df.iloc[0:2, :]" 2542 | ], 2543 | "execution_count": 81, 2544 | "outputs": [ 2545 | { 2546 | "output_type": "execute_result", 2547 | "data": { 2548 | "text/html": [ 2549 | "
\n", 2550 | "\n", 2563 | "\n", 2564 | " \n", 2565 | " \n", 2566 | " \n", 2567 | " \n", 2568 | " \n", 2569 | " \n", 2570 | " \n", 2571 | " \n", 2572 | " \n", 2573 | " \n", 2574 | " \n", 2575 | " \n", 2576 | " \n", 2577 | " \n", 2578 | " \n", 2579 | " \n", 2580 | " \n", 2581 | " \n", 2582 | " \n", 2583 | " \n", 2584 | " \n", 2585 | " \n", 2586 | " \n", 2587 | " \n", 2588 | " \n", 2589 | " \n", 2590 | " \n", 2591 | " \n", 2592 | " \n", 2593 | " \n", 2594 | " \n", 2595 | "
WXYZW_squarednew
A-0.709325-0.3989912.2557071.2864250.5031421.856716
B0.239717-0.993057-1.434999-0.7775270.057464-2.428056
\n", 2596 | "
" 2597 | ], 2598 | "text/plain": [ 2599 | " W X Y Z W_squared new\n", 2600 | "A -0.709325 -0.398991 2.255707 1.286425 0.503142 1.856716\n", 2601 | "B 0.239717 -0.993057 -1.434999 -0.777527 0.057464 -2.428056" 2602 | ] 2603 | }, 2604 | "metadata": { 2605 | "tags": [] 2606 | }, 2607 | "execution_count": 81 2608 | } 2609 | ] 2610 | }, 2611 | { 2612 | "cell_type": "code", 2613 | "metadata": { 2614 | "id": "yZ__EWX09wh0" 2615 | }, 2616 | "source": [ 2617 | "#Must Notice that Loc considers both ends \n", 2618 | "#while iloc doesn't include the right extreme." 2619 | ], 2620 | "execution_count": 82, 2621 | "outputs": [] 2622 | }, 2623 | { 2624 | "cell_type": "markdown", 2625 | "metadata": { 2626 | "id": "9X5dNWZ0-Hu3" 2627 | }, 2628 | "source": [ 2629 | "## Importing Data using Pandas/" 2630 | ] 2631 | }, 2632 | { 2633 | "cell_type": "code", 2634 | "metadata": { 2635 | "id": "uzOSFwqhYjCS" 2636 | }, 2637 | "source": [ 2638 | "A" 2639 | ], 2640 | "execution_count": null, 2641 | "outputs": [] 2642 | }, 2643 | { 2644 | "cell_type": "code", 2645 | "metadata": { 2646 | "colab": { 2647 | "base_uri": "https://localhost:8080/", 2648 | "height": 130 2649 | }, 2650 | "id": "BqoPYsmc950C", 2651 | "outputId": "ae50b48e-b4e0-4378-d94a-8ef85ab3666b" 2652 | }, 2653 | "source": [ 2654 | "data = pd.read_csv('/content/sample_data/california_housing_train.csv')\n", 2655 | "\n", 2656 | "data.tail(2)" 2657 | ], 2658 | "execution_count": 132, 2659 | "outputs": [ 2660 | { 2661 | "output_type": "execute_result", 2662 | "data": { 2663 | "text/html": [ 2664 | "
\n", 2665 | "\n", 2678 | "\n", 2679 | " \n", 2680 | " \n", 2681 | " \n", 2682 | " \n", 2683 | " \n", 2684 | " \n", 2685 | " \n", 2686 | " \n", 2687 | " \n", 2688 | " \n", 2689 | " \n", 2690 | " \n", 2691 | " \n", 2692 | " \n", 2693 | " \n", 2694 | " \n", 2695 | " \n", 2696 | " \n", 2697 | " \n", 2698 | " \n", 2699 | " \n", 2700 | " \n", 2701 | " \n", 2702 | " \n", 2703 | " \n", 2704 | " \n", 2705 | " \n", 2706 | " \n", 2707 | " \n", 2708 | " \n", 2709 | " \n", 2710 | " \n", 2711 | " \n", 2712 | " \n", 2713 | " \n", 2714 | " \n", 2715 | " \n", 2716 | " \n", 2717 | " \n", 2718 | " \n", 2719 | "
longitudelatitudehousing_median_agetotal_roomstotal_bedroomspopulationhouseholdsmedian_incomemedian_house_value
16998-124.3041.8019.02672.0552.01298.0478.01.979785800.0
16999-124.3540.5452.01820.0300.0806.0270.03.014794600.0
\n", 2720 | "
" 2721 | ], 2722 | "text/plain": [ 2723 | " longitude latitude ... median_income median_house_value\n", 2724 | "16998 -124.30 41.80 ... 1.9797 85800.0\n", 2725 | "16999 -124.35 40.54 ... 3.0147 94600.0\n", 2726 | "\n", 2727 | "[2 rows x 9 columns]" 2728 | ] 2729 | }, 2730 | "metadata": { 2731 | "tags": [] 2732 | }, 2733 | "execution_count": 132 2734 | } 2735 | ] 2736 | }, 2737 | { 2738 | "cell_type": "code", 2739 | "metadata": { 2740 | "colab": { 2741 | "base_uri": "https://localhost:8080/", 2742 | "height": 316 2743 | }, 2744 | "id": "mNVcA8J6-Z7Z", 2745 | "outputId": "03536a14-9dce-4baa-f28d-23583ef12984" 2746 | }, 2747 | "source": [ 2748 | "data.describe()" 2749 | ], 2750 | "execution_count": 133, 2751 | "outputs": [ 2752 | { 2753 | "output_type": "execute_result", 2754 | "data": { 2755 | "text/html": [ 2756 | "
\n", 2757 | "\n", 2770 | "\n", 2771 | " \n", 2772 | " \n", 2773 | " \n", 2774 | " \n", 2775 | " \n", 2776 | " \n", 2777 | " \n", 2778 | " \n", 2779 | " \n", 2780 | " \n", 2781 | " \n", 2782 | " \n", 2783 | " \n", 2784 | " \n", 2785 | " \n", 2786 | " \n", 2787 | " \n", 2788 | " \n", 2789 | " \n", 2790 | " \n", 2791 | " \n", 2792 | " \n", 2793 | " \n", 2794 | " \n", 2795 | " \n", 2796 | " \n", 2797 | " \n", 2798 | " \n", 2799 | " \n", 2800 | " \n", 2801 | " \n", 2802 | " \n", 2803 | " \n", 2804 | " \n", 2805 | " \n", 2806 | " \n", 2807 | " \n", 2808 | " \n", 2809 | " \n", 2810 | " \n", 2811 | " \n", 2812 | " \n", 2813 | " \n", 2814 | " \n", 2815 | " \n", 2816 | " \n", 2817 | " \n", 2818 | " \n", 2819 | " \n", 2820 | " \n", 2821 | " \n", 2822 | " \n", 2823 | " \n", 2824 | " \n", 2825 | " \n", 2826 | " \n", 2827 | " \n", 2828 | " \n", 2829 | " \n", 2830 | " \n", 2831 | " \n", 2832 | " \n", 2833 | " \n", 2834 | " \n", 2835 | " \n", 2836 | " \n", 2837 | " \n", 2838 | " \n", 2839 | " \n", 2840 | " \n", 2841 | " \n", 2842 | " \n", 2843 | " \n", 2844 | " \n", 2845 | " \n", 2846 | " \n", 2847 | " \n", 2848 | " \n", 2849 | " \n", 2850 | " \n", 2851 | " \n", 2852 | " \n", 2853 | " \n", 2854 | " \n", 2855 | " \n", 2856 | " \n", 2857 | " \n", 2858 | " \n", 2859 | " \n", 2860 | " \n", 2861 | " \n", 2862 | " \n", 2863 | " \n", 2864 | " \n", 2865 | " \n", 2866 | " \n", 2867 | " \n", 2868 | " \n", 2869 | " \n", 2870 | " \n", 2871 | " \n", 2872 | " \n", 2873 | " \n", 2874 | " \n", 2875 | " \n", 2876 | " \n", 2877 | " \n", 2878 | " \n", 2879 | " \n", 2880 | " \n", 2881 | " \n", 2882 | " \n", 2883 | "
longitudelatitudehousing_median_agetotal_roomstotal_bedroomspopulationhouseholdsmedian_incomemedian_house_value
count17000.00000017000.00000017000.00000017000.00000017000.00000017000.00000017000.00000017000.00000017000.000000
mean-119.56210835.62522528.5893532643.664412539.4108241429.573941501.2219413.883578207300.912353
std2.0051662.13734012.5869372179.947071421.4994521147.852959384.5208411.908157115983.764387
min-124.35000032.5400001.0000002.0000001.0000003.0000001.0000000.49990014999.000000
25%-121.79000033.93000018.0000001462.000000297.000000790.000000282.0000002.566375119400.000000
50%-118.49000034.25000029.0000002127.000000434.0000001167.000000409.0000003.544600180400.000000
75%-118.00000037.72000037.0000003151.250000648.2500001721.000000605.2500004.767000265000.000000
max-114.31000041.95000052.00000037937.0000006445.00000035682.0000006082.00000015.000100500001.000000
\n", 2884 | "
" 2885 | ], 2886 | "text/plain": [ 2887 | " longitude latitude ... median_income median_house_value\n", 2888 | "count 17000.000000 17000.000000 ... 17000.000000 17000.000000\n", 2889 | "mean -119.562108 35.625225 ... 3.883578 207300.912353\n", 2890 | "std 2.005166 2.137340 ... 1.908157 115983.764387\n", 2891 | "min -124.350000 32.540000 ... 0.499900 14999.000000\n", 2892 | "25% -121.790000 33.930000 ... 2.566375 119400.000000\n", 2893 | "50% -118.490000 34.250000 ... 3.544600 180400.000000\n", 2894 | "75% -118.000000 37.720000 ... 4.767000 265000.000000\n", 2895 | "max -114.310000 41.950000 ... 15.000100 500001.000000\n", 2896 | "\n", 2897 | "[8 rows x 9 columns]" 2898 | ] 2899 | }, 2900 | "metadata": { 2901 | "tags": [] 2902 | }, 2903 | "execution_count": 133 2904 | } 2905 | ] 2906 | }, 2907 | { 2908 | "cell_type": "code", 2909 | "metadata": { 2910 | "id": "HhJcnDKIX-qN" 2911 | }, 2912 | "source": [ 2913 | "hma50 = np.percentile(data['housing_median_age'], 50)" 2914 | ], 2915 | "execution_count": 135, 2916 | "outputs": [] 2917 | }, 2918 | { 2919 | "cell_type": "code", 2920 | "metadata": { 2921 | "id": "r1r90DyRZ4oR", 2922 | "outputId": "4f8bf24e-6c97-469a-a3a8-4e0c093df994", 2923 | "colab": { 2924 | "base_uri": "https://localhost:8080/" 2925 | } 2926 | }, 2927 | "source": [ 2928 | "data[data['housing_median_age']>hma50]['housing_median_age']" 2929 | ], 2930 | "execution_count": 138, 2931 | "outputs": [ 2932 | { 2933 | "output_type": "execute_result", 2934 | "data": { 2935 | "text/plain": [ 2936 | "7 41.0\n", 2937 | "8 34.0\n", 2938 | "9 46.0\n", 2939 | "12 48.0\n", 2940 | "13 31.0\n", 2941 | " ... \n", 2942 | "16993 52.0\n", 2943 | "16994 32.0\n", 2944 | "16995 52.0\n", 2945 | "16996 36.0\n", 2946 | "16999 52.0\n", 2947 | "Name: housing_median_age, Length: 8189, dtype: float64" 2948 | ] 2949 | }, 2950 | "metadata": { 2951 | "tags": [] 2952 | }, 2953 | "execution_count": 138 2954 | } 2955 | ] 2956 | }, 2957 | { 2958 | "cell_type": "code", 2959 | "metadata": { 2960 | "id": "P3YlDPo_aBXx" 2961 | }, 2962 | "source": [ 2963 | "" 2964 | ], 2965 | "execution_count": null, 2966 | "outputs": [] 2967 | } 2968 | ] 2969 | } -------------------------------------------------------------------------------- /Pt.csv: -------------------------------------------------------------------------------- 1 | time,pressure 2 | 0.001,2743.96 3 | 0.0021,2737.52 4 | 0.0034,2730.16 5 | 0.0048,2722.32 6 | 0.0064,2713.83 7 | 0.0082,2704.46 8 | 0.0103,2694.23 9 | 0.0125,2683.03 10 | 0.0151,2671.26 11 | 0.018,2658.36 12 | 0.0212,2644.71 13 | 0.0249,2630.14 14 | 0.029,2614.84 15 | 0.0336,2598.72 16 | 0.0388,2582.14 17 | 0.0447,2564.96 18 | 0.0513,2547.42 19 | 0.0587,2529.89 20 | 0.067,2512.19 21 | 0.0764,2494.89 22 | 0.0869,2478.16 23 | 0.0988,2462.14 24 | 0.1121,2446.97 25 | 0.1271,2432.97 26 | 0.144,2420.21 27 | 0.163,2409.04 28 | 0.1844,2398.75 29 | 0.209,2390.2 30 | 0.236,2382.79 31 | 0.266,2376.35 32 | 0.3,2370.96 33 | 0.339,2366.46 34 | 0.382,2362.35 35 | 0.431,2358.74 36 | 0.486,2355.31 37 | 0.547,2352.5 38 | 0.617,2349.73 39 | 0.695,2346.98 40 | 0.783,2344.54 41 | 0.882,2341.74 42 | 0.993,2339.53 43 | 1.118,2337.28 44 | 1.259,2334.67 45 | 1.417,2332.55 46 | 1.595,2330.48 47 | 1.795,2328.15 48 | 2.021,2325.9 49 | 2.275,2323.66 50 | 2.56,2321.42 51 | 2.881,2319.35 52 | 3.242,2317.33 53 | 3.648,2315.03 54 | 4.105,2313.02 55 | 4.619,2311.06 56 | 5.198,2308.95 57 | 5.848,2306.79 58 | 6.58,2304.87 59 | 7.404,2302.32 60 | 8.331,2300.59 61 | 9.373,2298.46 62 | 10.55,2296.49 63 | 11.86,2294.32 64 | 13.35,2292.28 65 | 15.02,2290.17 66 | 16.9,2288.11 67 | 19.01,2286.06 68 | 21.39,2283.99 69 | 24.06,2281.84 70 | 27.07,2279.76 71 | 30.45,2277.95 72 | 34.26,2275.56 73 | 38.55,2273.78 74 | 43.37,2271.54 75 | 48.79,2269.77 76 | 54.79,2267.69 77 | 60.79,2265.73 78 | 66.79,2264.46 79 | 72,2262.99 80 | -------------------------------------------------------------------------------- /Python_Crash_Course.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Python Crash Course.ipynb", 7 | "provenance": [], 8 | "authorship_tag": "ABX9TyOs5lI5J16gWJ6k2t4rcgLc" 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": "markdown", 21 | "metadata": { 22 | "id": "0sJXME0OwKuk" 23 | }, 24 | "source": [ 25 | "# Python for Petroleum Engineers. " 26 | ] 27 | }, 28 | { 29 | "cell_type": "markdown", 30 | "metadata": { 31 | "id": "YgdmKzaOyl-U" 32 | }, 33 | "source": [ 34 | "> ## Divyanshu Vyas\n", 35 | "Machine Learning Engineer (Oil & Gas) @ DICELYTICS | Founder, Petroleum From Scratch. \n", 36 | "\n", 37 | "> Motivations : Kendrick Lamar | J'Cole | Eminem" 38 | ] 39 | }, 40 | { 41 | "cell_type": "markdown", 42 | "metadata": { 43 | "id": "GsQ1gHHR0daB" 44 | }, 45 | "source": [ 46 | "## Why Python Though? \n", 47 | "\n", 48 | "1. Technical Edge and a smart one at that : Simulations | Automations | Quicker Problem Solving Mindset | Enhanced & Efficient Workflows.\n", 49 | "\n", 50 | "2. Oil & Gas Industry is very new to the Data Science and Machine Learning applications. \n", 51 | "\n", 52 | "3. Future of the Industry is hugely Data-Centric. \n", 53 | "\n", 54 | "4. Lot of Startups coming up that are solely based on DS/ML apps for bigger companies. They pay well. \n", 55 | "\n", 56 | "5. For someone who plans to diversify and smoothly transition to another industry/field - this is a very smart move. You can move into any domain. \n", 57 | "\n", 58 | "No. of Opportunities shoot up significantly!" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": { 64 | "id": "6GjhG5YT1VIo" 65 | }, 66 | "source": [ 67 | "In this Course I'll cover the steps that helped me efficiently transition from Core PE to a Data Analytics PE. " 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "metadata": { 73 | "id": "XsKq8wqFwGiO" 74 | }, 75 | "source": [ 76 | "#######################################################################################################" 77 | ], 78 | "execution_count": 2, 79 | "outputs": [] 80 | }, 81 | { 82 | "cell_type": "markdown", 83 | "metadata": { 84 | "id": "9LKlBCZk227t" 85 | }, 86 | "source": [ 87 | "#Python Crash Course \n", 88 | "\n" 89 | ] 90 | }, 91 | { 92 | "cell_type": "markdown", 93 | "metadata": { 94 | "id": "4vaszy7LYIS-" 95 | }, 96 | "source": [ 97 | "# Chapter 1 : Data Types." 98 | ] 99 | }, 100 | { 101 | "cell_type": "markdown", 102 | "metadata": { 103 | "id": "nQsmrZO53CRU" 104 | }, 105 | "source": [ 106 | "## 1. Numbers & Mathematical Operators." 107 | ] 108 | }, 109 | { 110 | "cell_type": "code", 111 | "metadata": { 112 | "colab": { 113 | "base_uri": "https://localhost:8080/" 114 | }, 115 | "id": "2XCPgpPM210-", 116 | "outputId": "55eaaf55-b0cd-4eda-f288-28924373a2a1" 117 | }, 118 | "source": [ 119 | "1 + 1 " 120 | ], 121 | "execution_count": 5, 122 | "outputs": [ 123 | { 124 | "output_type": "execute_result", 125 | "data": { 126 | "text/plain": [ 127 | "2" 128 | ] 129 | }, 130 | "metadata": { 131 | "tags": [] 132 | }, 133 | "execution_count": 5 134 | } 135 | ] 136 | }, 137 | { 138 | "cell_type": "code", 139 | "metadata": { 140 | "colab": { 141 | "base_uri": "https://localhost:8080/" 142 | }, 143 | "id": "CM0YuMF92LcI", 144 | "outputId": "5fb258e5-dff8-4dc9-a718-ca2b7e595e1c" 145 | }, 146 | "source": [ 147 | "1 - 1" 148 | ], 149 | "execution_count": 6, 150 | "outputs": [ 151 | { 152 | "output_type": "execute_result", 153 | "data": { 154 | "text/plain": [ 155 | "0" 156 | ] 157 | }, 158 | "metadata": { 159 | "tags": [] 160 | }, 161 | "execution_count": 6 162 | } 163 | ] 164 | }, 165 | { 166 | "cell_type": "code", 167 | "metadata": { 168 | "colab": { 169 | "base_uri": "https://localhost:8080/" 170 | }, 171 | "id": "YdLOg-n23Qci", 172 | "outputId": "fa777df4-c1bd-4a99-c154-9ae22010d37b" 173 | }, 174 | "source": [ 175 | "1/2" 176 | ], 177 | "execution_count": 7, 178 | "outputs": [ 179 | { 180 | "output_type": "execute_result", 181 | "data": { 182 | "text/plain": [ 183 | "0.5" 184 | ] 185 | }, 186 | "metadata": { 187 | "tags": [] 188 | }, 189 | "execution_count": 7 190 | } 191 | ] 192 | }, 193 | { 194 | "cell_type": "code", 195 | "metadata": { 196 | "colab": { 197 | "base_uri": "https://localhost:8080/" 198 | }, 199 | "id": "iQgLWbq03RtH", 200 | "outputId": "c04bb7f8-f607-45b3-e1e7-b04b6ab7ee59" 201 | }, 202 | "source": [ 203 | "70.6*2.303" 204 | ], 205 | "execution_count": 8, 206 | "outputs": [ 207 | { 208 | "output_type": "execute_result", 209 | "data": { 210 | "text/plain": [ 211 | "162.59179999999998" 212 | ] 213 | }, 214 | "metadata": { 215 | "tags": [] 216 | }, 217 | "execution_count": 8 218 | } 219 | ] 220 | }, 221 | { 222 | "cell_type": "code", 223 | "metadata": { 224 | "colab": { 225 | "base_uri": "https://localhost:8080/" 226 | }, 227 | "id": "JX65x01C3ZnY", 228 | "outputId": "00033c6a-20c5-476e-fa65-c1a3baf9f62e" 229 | }, 230 | "source": [ 231 | "round(70.6*2.303, 2)" 232 | ], 233 | "execution_count": 9, 234 | "outputs": [ 235 | { 236 | "output_type": "execute_result", 237 | "data": { 238 | "text/plain": [ 239 | "162.59" 240 | ] 241 | }, 242 | "metadata": { 243 | "tags": [] 244 | }, 245 | "execution_count": 9 246 | } 247 | ] 248 | }, 249 | { 250 | "cell_type": "code", 251 | "metadata": { 252 | "colab": { 253 | "base_uri": "https://localhost:8080/" 254 | }, 255 | "id": "_cMD3UV53fS3", 256 | "outputId": "374310fb-6caa-4d37-e8fe-514e539a6169" 257 | }, 258 | "source": [ 259 | "# 5^2 = 25\n", 260 | "5**2" 261 | ], 262 | "execution_count": 10, 263 | "outputs": [ 264 | { 265 | "output_type": "execute_result", 266 | "data": { 267 | "text/plain": [ 268 | "25" 269 | ] 270 | }, 271 | "metadata": { 272 | "tags": [] 273 | }, 274 | "execution_count": 10 275 | } 276 | ] 277 | }, 278 | { 279 | "cell_type": "code", 280 | "metadata": { 281 | "colab": { 282 | "base_uri": "https://localhost:8080/" 283 | }, 284 | "id": "v-5hfmt63ke6", 285 | "outputId": "b1363fb0-6711-41b2-bc61-fdd239f2e869" 286 | }, 287 | "source": [ 288 | "# Finding the Remainder after Division. \n", 289 | "5 % 2" 290 | ], 291 | "execution_count": 12, 292 | "outputs": [ 293 | { 294 | "output_type": "execute_result", 295 | "data": { 296 | "text/plain": [ 297 | "1" 298 | ] 299 | }, 300 | "metadata": { 301 | "tags": [] 302 | }, 303 | "execution_count": 12 304 | } 305 | ] 306 | }, 307 | { 308 | "cell_type": "code", 309 | "metadata": { 310 | "colab": { 311 | "base_uri": "https://localhost:8080/" 312 | }, 313 | "id": "_hMYwurF3q8Q", 314 | "outputId": "5a315eee-2ee4-4543-dbef-0f037787a625" 315 | }, 316 | "source": [ 317 | "4 % 2" 318 | ], 319 | "execution_count": 14, 320 | "outputs": [ 321 | { 322 | "output_type": "execute_result", 323 | "data": { 324 | "text/plain": [ 325 | "0" 326 | ] 327 | }, 328 | "metadata": { 329 | "tags": [] 330 | }, 331 | "execution_count": 14 332 | } 333 | ] 334 | }, 335 | { 336 | "cell_type": "code", 337 | "metadata": { 338 | "colab": { 339 | "base_uri": "https://localhost:8080/" 340 | }, 341 | "id": "rlyK4Li033K0", 342 | "outputId": "6881a9b4-0325-42d7-9235-235f45df46c9" 343 | }, 344 | "source": [ 345 | "## Floor Division : Returns the Quotient after division. \n", 346 | "5 // 2" 347 | ], 348 | "execution_count": 16, 349 | "outputs": [ 350 | { 351 | "output_type": "execute_result", 352 | "data": { 353 | "text/plain": [ 354 | "2" 355 | ] 356 | }, 357 | "metadata": { 358 | "tags": [] 359 | }, 360 | "execution_count": 16 361 | } 362 | ] 363 | }, 364 | { 365 | "cell_type": "markdown", 366 | "metadata": { 367 | "id": "MoakU5jt41Ar" 368 | }, 369 | "source": [ 370 | "A // B -- Gives you the Quotient. \n", 371 | "\n", 372 | "A % B -- Gives you the Remainder. " 373 | ] 374 | }, 375 | { 376 | "cell_type": "code", 377 | "metadata": { 378 | "colab": { 379 | "base_uri": "https://localhost:8080/" 380 | }, 381 | "id": "HQoOxr6K33Im", 382 | "outputId": "62541a09-2291-4ee2-bc12-f84350421808" 383 | }, 384 | "source": [ 385 | "# Hence,\n", 386 | "\n", 387 | "# 5 = 2 * (5 // 2) + 5 % 2\n", 388 | "\n", 389 | "2 * (5 // 2) + 5 % 2" 390 | ], 391 | "execution_count": 17, 392 | "outputs": [ 393 | { 394 | "output_type": "execute_result", 395 | "data": { 396 | "text/plain": [ 397 | "5" 398 | ] 399 | }, 400 | "metadata": { 401 | "tags": [] 402 | }, 403 | "execution_count": 17 404 | } 405 | ] 406 | }, 407 | { 408 | "cell_type": "markdown", 409 | "metadata": { 410 | "id": "Rhq0NDFH5DYX" 411 | }, 412 | "source": [ 413 | ">### Subtopic : Variable Assignment" 414 | ] 415 | }, 416 | { 417 | "cell_type": "code", 418 | "metadata": { 419 | "id": "GaA0nAIy33F7" 420 | }, 421 | "source": [ 422 | "# Suppose reservoir A has porosity 25 % and Reservoir B has 30%. \n", 423 | "\n", 424 | "phi_A = 0.25 \n", 425 | "phi_B = 0.35" 426 | ], 427 | "execution_count": 18, 428 | "outputs": [] 429 | }, 430 | { 431 | "cell_type": "code", 432 | "metadata": { 433 | "colab": { 434 | "base_uri": "https://localhost:8080/" 435 | }, 436 | "id": "GDV_Yalz33DG", 437 | "outputId": "99dc401d-369a-499a-a407-39fae5988fa2" 438 | }, 439 | "source": [ 440 | "phi_A , phi_B" 441 | ], 442 | "execution_count": 21, 443 | "outputs": [ 444 | { 445 | "output_type": "execute_result", 446 | "data": { 447 | "text/plain": [ 448 | "(0.25, 0.35)" 449 | ] 450 | }, 451 | "metadata": { 452 | "tags": [] 453 | }, 454 | "execution_count": 21 455 | } 456 | ] 457 | }, 458 | { 459 | "cell_type": "markdown", 460 | "metadata": { 461 | "id": "vmNdD7Cy6SqU" 462 | }, 463 | "source": [ 464 | ">> #### Variable Name Rules. \n", 465 | "\n", 466 | "1. 1var : Invalid\n", 467 | "2. var1 : Valid\n", 468 | "\n", 469 | "3. Only special character allowed = Underscore _\n", 470 | "\n", 471 | "4. is Case Sensitive. A & a are different. " 472 | ] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "metadata": { 477 | "colab": { 478 | "base_uri": "https://localhost:8080/", 479 | "height": 132 480 | }, 481 | "id": "Np4GNtM233AN", 482 | "outputId": "f112b0ba-4cda-4020-f8ea-e897a41c1028" 483 | }, 484 | "source": [ 485 | "dx&dt = 5" 486 | ], 487 | "execution_count": 22, 488 | "outputs": [ 489 | { 490 | "output_type": "error", 491 | "ename": "SyntaxError", 492 | "evalue": "ignored", 493 | "traceback": [ 494 | "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m dx&dt = 5\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m can't assign to operator\n" 495 | ] 496 | } 497 | ] 498 | }, 499 | { 500 | "cell_type": "code", 501 | "metadata": { 502 | "colab": { 503 | "base_uri": "https://localhost:8080/", 504 | "height": 132 505 | }, 506 | "id": "IjBf9B616q_C", 507 | "outputId": "a663c780-ab40-4356-af4a-1e5398a7539e" 508 | }, 509 | "source": [ 510 | "# phi1 = 3\n", 511 | "\n", 512 | "1phi = 2" 513 | ], 514 | "execution_count": 27, 515 | "outputs": [ 516 | { 517 | "output_type": "error", 518 | "ename": "SyntaxError", 519 | "evalue": "ignored", 520 | "traceback": [ 521 | "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 1phi = 2\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" 522 | ] 523 | } 524 | ] 525 | }, 526 | { 527 | "cell_type": "markdown", 528 | "metadata": { 529 | "id": "fsWFD-TL309c" 530 | }, 531 | "source": [ 532 | "## 2. Strings" 533 | ] 534 | }, 535 | { 536 | "cell_type": "code", 537 | "metadata": { 538 | "colab": { 539 | "base_uri": "https://localhost:8080/", 540 | "height": 34 541 | }, 542 | "id": "ozV0gHUv3vpd", 543 | "outputId": "1d2593ca-bec9-4979-bf7a-1a553ffc0bf0" 544 | }, 545 | "source": [ 546 | "'single quotes are allowed'" 547 | ], 548 | "execution_count": 28, 549 | "outputs": [ 550 | { 551 | "output_type": "execute_result", 552 | "data": { 553 | "application/vnd.google.colaboratory.intrinsic+json": { 554 | "type": "string" 555 | }, 556 | "text/plain": [ 557 | "'single quotes are allowed'" 558 | ] 559 | }, 560 | "metadata": { 561 | "tags": [] 562 | }, 563 | "execution_count": 28 564 | } 565 | ] 566 | }, 567 | { 568 | "cell_type": "code", 569 | "metadata": { 570 | "colab": { 571 | "base_uri": "https://localhost:8080/", 572 | "height": 34 573 | }, 574 | "id": "TCoJzNJt7CHG", 575 | "outputId": "15100eda-da8d-4191-a62b-89210ba113e4" 576 | }, 577 | "source": [ 578 | "\"Double Quotes are also allowed\"" 579 | ], 580 | "execution_count": 29, 581 | "outputs": [ 582 | { 583 | "output_type": "execute_result", 584 | "data": { 585 | "application/vnd.google.colaboratory.intrinsic+json": { 586 | "type": "string" 587 | }, 588 | "text/plain": [ 589 | "'Double Quotes are also allowed'" 590 | ] 591 | }, 592 | "metadata": { 593 | "tags": [] 594 | }, 595 | "execution_count": 29 596 | } 597 | ] 598 | }, 599 | { 600 | "cell_type": "markdown", 601 | "metadata": { 602 | "id": "GLC50bmU7jNB" 603 | }, 604 | "source": [ 605 | ">> #### Printing." 606 | ] 607 | }, 608 | { 609 | "cell_type": "code", 610 | "metadata": { 611 | "colab": { 612 | "base_uri": "https://localhost:8080/" 613 | }, 614 | "id": "WNN6pHeP7S-L", 615 | "outputId": "2a939e7e-c82a-47e6-efee-9670207e5a7f" 616 | }, 617 | "source": [ 618 | "print('This is Line1 \\nThis is Line2')" 619 | ], 620 | "execution_count": 35, 621 | "outputs": [ 622 | { 623 | "output_type": "stream", 624 | "text": [ 625 | "This is Line1 \n", 626 | "This is Line2\n" 627 | ], 628 | "name": "stdout" 629 | } 630 | ] 631 | }, 632 | { 633 | "cell_type": "code", 634 | "metadata": { 635 | "colab": { 636 | "base_uri": "https://localhost:8080/" 637 | }, 638 | "id": "hZ4ta1N47XSJ", 639 | "outputId": "40d8bb9d-deb8-4ef8-b3c1-aeccc135d009" 640 | }, 641 | "source": [ 642 | "name = 'Sandstone'\n", 643 | "porosity = 25 #percent. \n", 644 | "\n", 645 | "print('The rock type is name and the rock porosity is porosity')" 646 | ], 647 | "execution_count": 36, 648 | "outputs": [ 649 | { 650 | "output_type": "stream", 651 | "text": [ 652 | "The rock type is name and the rock porosity is porosity\n" 653 | ], 654 | "name": "stdout" 655 | } 656 | ] 657 | }, 658 | { 659 | "cell_type": "markdown", 660 | "metadata": { 661 | "id": "YfckAzYv8DgI" 662 | }, 663 | "source": [ 664 | "##### f-Strings." 665 | ] 666 | }, 667 | { 668 | "cell_type": "code", 669 | "metadata": { 670 | "colab": { 671 | "base_uri": "https://localhost:8080/" 672 | }, 673 | "id": "_oNywnYY720j", 674 | "outputId": "7aa17db2-a3be-408b-d437-4a5b71e50f98" 675 | }, 676 | "source": [ 677 | "print(f'The rock type is {name} and the rock porosity is {porosity} %')" 678 | ], 679 | "execution_count": 38, 680 | "outputs": [ 681 | { 682 | "output_type": "stream", 683 | "text": [ 684 | "The rock type is Sandstone and the rock porosity is 25 %\n" 685 | ], 686 | "name": "stdout" 687 | } 688 | ] 689 | }, 690 | { 691 | "cell_type": "markdown", 692 | "metadata": { 693 | "id": "VUWMIn2Z9VY2" 694 | }, 695 | "source": [ 696 | "Strings are Immutable/Cannot be modified." 697 | ] 698 | }, 699 | { 700 | "cell_type": "code", 701 | "metadata": { 702 | "colab": { 703 | "base_uri": "https://localhost:8080/", 704 | "height": 166 705 | }, 706 | "id": "46TODMw89PoH", 707 | "outputId": "c542efe8-59b9-4a73-907d-b10b82cc943f" 708 | }, 709 | "source": [ 710 | "name[4] = 'r'" 711 | ], 712 | "execution_count": 41, 713 | "outputs": [ 714 | { 715 | "output_type": "error", 716 | "ename": "TypeError", 717 | "evalue": "ignored", 718 | "traceback": [ 719 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 720 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", 721 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mname\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'r'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", 722 | "\u001b[0;31mTypeError\u001b[0m: 'str' object does not support item assignment" 723 | ] 724 | } 725 | ] 726 | }, 727 | { 728 | "cell_type": "markdown", 729 | "metadata": { 730 | "id": "PKLi6ji19D35" 731 | }, 732 | "source": [ 733 | "## 3. Lists" 734 | ] 735 | }, 736 | { 737 | "cell_type": "markdown", 738 | "metadata": { 739 | "id": "qv7DoNSgIafX" 740 | }, 741 | "source": [ 742 | "Number of objects stored in square brackets [ ]. \n", 743 | "\n", 744 | "Lists are Modify-able." 745 | ] 746 | }, 747 | { 748 | "cell_type": "code", 749 | "metadata": { 750 | "colab": { 751 | "base_uri": "https://localhost:8080/" 752 | }, 753 | "id": "guHq9kNm8X2J", 754 | "outputId": "1aabde45-4c0e-441e-97d1-25b8fc672c94" 755 | }, 756 | "source": [ 757 | "#list of integer type numbers. \n", 758 | "[1,2,3]" 759 | ], 760 | "execution_count": 43, 761 | "outputs": [ 762 | { 763 | "output_type": "execute_result", 764 | "data": { 765 | "text/plain": [ 766 | "[1, 2, 3]" 767 | ] 768 | }, 769 | "metadata": { 770 | "tags": [] 771 | }, 772 | "execution_count": 43 773 | } 774 | ] 775 | }, 776 | { 777 | "cell_type": "code", 778 | "metadata": { 779 | "colab": { 780 | "base_uri": "https://localhost:8080/" 781 | }, 782 | "id": "rVjO_qveBc_0", 783 | "outputId": "344791bf-6a8b-40c9-ccae-30f8304ea0dc" 784 | }, 785 | "source": [ 786 | "#list of floating point numbers. \n", 787 | "[3.14 , 2.73, 0.87, 162.6]" 788 | ], 789 | "execution_count": 44, 790 | "outputs": [ 791 | { 792 | "output_type": "execute_result", 793 | "data": { 794 | "text/plain": [ 795 | "[3.14, 2.73, 0.87, 162.6]" 796 | ] 797 | }, 798 | "metadata": { 799 | "tags": [] 800 | }, 801 | "execution_count": 44 802 | } 803 | ] 804 | }, 805 | { 806 | "cell_type": "code", 807 | "metadata": { 808 | "colab": { 809 | "base_uri": "https://localhost:8080/" 810 | }, 811 | "id": "M_o9LAUPBrTy", 812 | "outputId": "0236edcb-87b4-4ef2-f964-9cd5c6752dda" 813 | }, 814 | "source": [ 815 | "#mixed bag. \n", 816 | "['reservoir', 'drilling', 70.6, 141.2]" 817 | ], 818 | "execution_count": 45, 819 | "outputs": [ 820 | { 821 | "output_type": "execute_result", 822 | "data": { 823 | "text/plain": [ 824 | "['reservoir', 'drilling', 70.6, 141.2]" 825 | ] 826 | }, 827 | "metadata": { 828 | "tags": [] 829 | }, 830 | "execution_count": 45 831 | } 832 | ] 833 | }, 834 | { 835 | "cell_type": "code", 836 | "metadata": { 837 | "id": "aaCxBYw4Bz1G" 838 | }, 839 | "source": [ 840 | "#storing it into a variable. \n", 841 | "\n", 842 | "porosities = [0.2, 0.35, 0.4, 0.55]" 843 | ], 844 | "execution_count": 46, 845 | "outputs": [] 846 | }, 847 | { 848 | "cell_type": "markdown", 849 | "metadata": { 850 | "id": "hwiaLInLB_zM" 851 | }, 852 | "source": [ 853 | "#### Operations and Manipulations on Lists. " 854 | ] 855 | }, 856 | { 857 | "cell_type": "code", 858 | "metadata": { 859 | "colab": { 860 | "base_uri": "https://localhost:8080/" 861 | }, 862 | "id": "uAp8VYcoB6UP", 863 | "outputId": "d1f0fc1d-8d72-4452-ff7b-ccab11e2d7aa" 864 | }, 865 | "source": [ 866 | "# Joining 2 Lists \n", 867 | "[1,2,3] + ['a','b','c']" 868 | ], 869 | "execution_count": 48, 870 | "outputs": [ 871 | { 872 | "output_type": "execute_result", 873 | "data": { 874 | "text/plain": [ 875 | "[1, 2, 3, 'a', 'b', 'c']" 876 | ] 877 | }, 878 | "metadata": { 879 | "tags": [] 880 | }, 881 | "execution_count": 48 882 | } 883 | ] 884 | }, 885 | { 886 | "cell_type": "code", 887 | "metadata": { 888 | "id": "gOMXCFtgB7aM" 889 | }, 890 | "source": [ 891 | "#APPEND\n", 892 | "new_value = 0.40\n", 893 | "porosities.append(new_value)" 894 | ], 895 | "execution_count": 50, 896 | "outputs": [] 897 | }, 898 | { 899 | "cell_type": "code", 900 | "metadata": { 901 | "colab": { 902 | "base_uri": "https://localhost:8080/" 903 | }, 904 | "id": "EsrMY6BNCxd_", 905 | "outputId": "6f2b445d-c9af-4113-bedd-ffb0a2f5d021" 906 | }, 907 | "source": [ 908 | "porosities" 909 | ], 910 | "execution_count": 51, 911 | "outputs": [ 912 | { 913 | "output_type": "execute_result", 914 | "data": { 915 | "text/plain": [ 916 | "[0.2, 0.35, 0.4, 0.55, 0.4]" 917 | ] 918 | }, 919 | "metadata": { 920 | "tags": [] 921 | }, 922 | "execution_count": 51 923 | } 924 | ] 925 | }, 926 | { 927 | "cell_type": "code", 928 | "metadata": { 929 | "id": "86BY4yYEC4wa" 930 | }, 931 | "source": [ 932 | "#Indexing. \n", 933 | "\n", 934 | "# Each Element in the list has an index starting with 0th index\n", 935 | "# for the first element. The same goes for strings as well. " 936 | ], 937 | "execution_count": 52, 938 | "outputs": [] 939 | }, 940 | { 941 | "cell_type": "code", 942 | "metadata": { 943 | "colab": { 944 | "base_uri": "https://localhost:8080/" 945 | }, 946 | "id": "oIPEHavkDFCO", 947 | "outputId": "d73f9abb-9466-43f4-8225-5c38988514f8" 948 | }, 949 | "source": [ 950 | "porosities\n", 951 | "\n", 952 | "# porosities[0]" 953 | ], 954 | "execution_count": 56, 955 | "outputs": [ 956 | { 957 | "output_type": "execute_result", 958 | "data": { 959 | "text/plain": [ 960 | "[0.2, 0.35, 0.4, 0.55, 0.4]" 961 | ] 962 | }, 963 | "metadata": { 964 | "tags": [] 965 | }, 966 | "execution_count": 56 967 | } 968 | ] 969 | }, 970 | { 971 | "cell_type": "code", 972 | "metadata": { 973 | "colab": { 974 | "base_uri": "https://localhost:8080/" 975 | }, 976 | "id": "IXCnbSqVDpVf", 977 | "outputId": "fb3a0fcd-c423-4cdb-9436-138826b75207" 978 | }, 979 | "source": [ 980 | "#Proof that lists are mutable/can be modified. \n", 981 | "poro = [0.20,0.22,0.34,0.27,45]\n", 982 | "\n", 983 | "#Notice that last porosity is mistakenly added as a percentage\n", 984 | "#We need it as a fraction. \n", 985 | "poro" 986 | ], 987 | "execution_count": 61, 988 | "outputs": [ 989 | { 990 | "output_type": "execute_result", 991 | "data": { 992 | "text/plain": [ 993 | "[0.2, 0.22, 0.34, 0.27, 45]" 994 | ] 995 | }, 996 | "metadata": { 997 | "tags": [] 998 | }, 999 | "execution_count": 61 1000 | } 1001 | ] 1002 | }, 1003 | { 1004 | "cell_type": "code", 1005 | "metadata": { 1006 | "id": "pHnpQjFrENmh" 1007 | }, 1008 | "source": [ 1009 | "poro[-1] = 0.45" 1010 | ], 1011 | "execution_count": 62, 1012 | "outputs": [] 1013 | }, 1014 | { 1015 | "cell_type": "code", 1016 | "metadata": { 1017 | "colab": { 1018 | "base_uri": "https://localhost:8080/" 1019 | }, 1020 | "id": "WY2Wlm2wEjEQ", 1021 | "outputId": "85626bf7-923a-4fad-c627-b07ba391e5b9" 1022 | }, 1023 | "source": [ 1024 | "# 2D lists. \n", 1025 | "\n", 1026 | "list_1 = [1,2,3] \n", 1027 | "list_2 = [4,5,6]\n", 1028 | "\n", 1029 | "list_2D = [list_1 , list_2]\n", 1030 | "\n", 1031 | "list_2D" 1032 | ], 1033 | "execution_count": 63, 1034 | "outputs": [ 1035 | { 1036 | "output_type": "execute_result", 1037 | "data": { 1038 | "text/plain": [ 1039 | "[[1, 2, 3], [4, 5, 6]]" 1040 | ] 1041 | }, 1042 | "metadata": { 1043 | "tags": [] 1044 | }, 1045 | "execution_count": 63 1046 | } 1047 | ] 1048 | }, 1049 | { 1050 | "cell_type": "code", 1051 | "metadata": { 1052 | "colab": { 1053 | "base_uri": "https://localhost:8080/" 1054 | }, 1055 | "id": "U_iVeXD3FbmW", 1056 | "outputId": "6c2faa8e-6405-4c89-eb16-cee4270c108b" 1057 | }, 1058 | "source": [ 1059 | "list_2D[0][-1]" 1060 | ], 1061 | "execution_count": 65, 1062 | "outputs": [ 1063 | { 1064 | "output_type": "execute_result", 1065 | "data": { 1066 | "text/plain": [ 1067 | "3" 1068 | ] 1069 | }, 1070 | "metadata": { 1071 | "tags": [] 1072 | }, 1073 | "execution_count": 65 1074 | } 1075 | ] 1076 | }, 1077 | { 1078 | "cell_type": "markdown", 1079 | "metadata": { 1080 | "id": "bLGUZu7VF7uD" 1081 | }, 1082 | "source": [ 1083 | "**List Slicing.**\n", 1084 | "\n", 1085 | "list_name[start:stop:step]" 1086 | ] 1087 | }, 1088 | { 1089 | "cell_type": "code", 1090 | "metadata": { 1091 | "colab": { 1092 | "base_uri": "https://localhost:8080/" 1093 | }, 1094 | "id": "udaubIXKFfP4", 1095 | "outputId": "a70910c3-6e34-423a-e7c9-74010de51592" 1096 | }, 1097 | "source": [ 1098 | "#We can access a particular section or slice of a list.\n", 1099 | "\n", 1100 | "perms = [4,5,1,10,100,1000,3,40,50,60]\n", 1101 | "\n", 1102 | "perms[3:]" 1103 | ], 1104 | "execution_count": 68, 1105 | "outputs": [ 1106 | { 1107 | "output_type": "execute_result", 1108 | "data": { 1109 | "text/plain": [ 1110 | "[10, 100, 1000, 3, 40, 50, 60]" 1111 | ] 1112 | }, 1113 | "metadata": { 1114 | "tags": [] 1115 | }, 1116 | "execution_count": 68 1117 | } 1118 | ] 1119 | }, 1120 | { 1121 | "cell_type": "code", 1122 | "metadata": { 1123 | "colab": { 1124 | "base_uri": "https://localhost:8080/" 1125 | }, 1126 | "id": "MbCmUgKdGG1o", 1127 | "outputId": "e4ae81ab-f068-4484-c113-e8753113d2b5" 1128 | }, 1129 | "source": [ 1130 | "perms[0:-1:2]" 1131 | ], 1132 | "execution_count": 69, 1133 | "outputs": [ 1134 | { 1135 | "output_type": "execute_result", 1136 | "data": { 1137 | "text/plain": [ 1138 | "[4, 1, 100, 3, 50]" 1139 | ] 1140 | }, 1141 | "metadata": { 1142 | "tags": [] 1143 | }, 1144 | "execution_count": 69 1145 | } 1146 | ] 1147 | }, 1148 | { 1149 | "cell_type": "markdown", 1150 | "metadata": { 1151 | "id": "yVlpiqexG3kx" 1152 | }, 1153 | "source": [ 1154 | "## 4. Tuples" 1155 | ] 1156 | }, 1157 | { 1158 | "cell_type": "code", 1159 | "metadata": { 1160 | "colab": { 1161 | "base_uri": "https://localhost:8080/" 1162 | }, 1163 | "id": "Hs6n2hawGV7z", 1164 | "outputId": "a3f8f466-ab6f-4774-fdd4-e2d1949d1a5c" 1165 | }, 1166 | "source": [ 1167 | "t = (1,2,3)\n", 1168 | "\n", 1169 | "t[0]" 1170 | ], 1171 | "execution_count": 70, 1172 | "outputs": [ 1173 | { 1174 | "output_type": "execute_result", 1175 | "data": { 1176 | "text/plain": [ 1177 | "1" 1178 | ] 1179 | }, 1180 | "metadata": { 1181 | "tags": [] 1182 | }, 1183 | "execution_count": 70 1184 | } 1185 | ] 1186 | }, 1187 | { 1188 | "cell_type": "code", 1189 | "metadata": { 1190 | "id": "c88BJGfeHJd1" 1191 | }, 1192 | "source": [ 1193 | "#TUPLES are a SECURE way to store Data. \n", 1194 | "\n", 1195 | "#They help prevent modification. IMMUTABLE." 1196 | ], 1197 | "execution_count": 71, 1198 | "outputs": [] 1199 | }, 1200 | { 1201 | "cell_type": "code", 1202 | "metadata": { 1203 | "colab": { 1204 | "base_uri": "https://localhost:8080/", 1205 | "height": 166 1206 | }, 1207 | "id": "FXXpB3sRHQ6N", 1208 | "outputId": "a9b41597-0329-4ddd-a6cf-5b793937058c" 1209 | }, 1210 | "source": [ 1211 | "t[1] = 2" 1212 | ], 1213 | "execution_count": 72, 1214 | "outputs": [ 1215 | { 1216 | "output_type": "error", 1217 | "ename": "TypeError", 1218 | "evalue": "ignored", 1219 | "traceback": [ 1220 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 1221 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", 1222 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mt\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", 1223 | "\u001b[0;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" 1224 | ] 1225 | } 1226 | ] 1227 | }, 1228 | { 1229 | "cell_type": "markdown", 1230 | "metadata": { 1231 | "id": "IAOzK1ibHcuS" 1232 | }, 1233 | "source": [ 1234 | "## 5. SETS" 1235 | ] 1236 | }, 1237 | { 1238 | "cell_type": "code", 1239 | "metadata": { 1240 | "id": "K8khvdy3HTtY" 1241 | }, 1242 | "source": [ 1243 | "#MOST IMPORTANT application of Sets is that they help store \n", 1244 | "#only unique information.\n", 1245 | "\n", 1246 | "set1 = {1,2,3}" 1247 | ], 1248 | "execution_count": 74, 1249 | "outputs": [] 1250 | }, 1251 | { 1252 | "cell_type": "code", 1253 | "metadata": { 1254 | "id": "iPe7vNEJHZLk" 1255 | }, 1256 | "source": [ 1257 | "duplicates = [1,2,2,3,4,5,6,6,6,6,7]" 1258 | ], 1259 | "execution_count": 76, 1260 | "outputs": [] 1261 | }, 1262 | { 1263 | "cell_type": "code", 1264 | "metadata": { 1265 | "colab": { 1266 | "base_uri": "https://localhost:8080/" 1267 | }, 1268 | "id": "o5YUKhshHbe1", 1269 | "outputId": "c2c9e08f-7960-46c1-f153-f956fb8ee31b" 1270 | }, 1271 | "source": [ 1272 | "set(duplicates)" 1273 | ], 1274 | "execution_count": 77, 1275 | "outputs": [ 1276 | { 1277 | "output_type": "execute_result", 1278 | "data": { 1279 | "text/plain": [ 1280 | "{1, 2, 3, 4, 5, 6, 7}" 1281 | ] 1282 | }, 1283 | "metadata": { 1284 | "tags": [] 1285 | }, 1286 | "execution_count": 77 1287 | } 1288 | ] 1289 | }, 1290 | { 1291 | "cell_type": "markdown", 1292 | "metadata": { 1293 | "id": "FbiACyKxIAgK" 1294 | }, 1295 | "source": [ 1296 | "## 6. DICTIONARIES" 1297 | ] 1298 | }, 1299 | { 1300 | "cell_type": "code", 1301 | "metadata": { 1302 | "id": "la10z29ZH8si" 1303 | }, 1304 | "source": [ 1305 | "reservoir1 = {'phi':[0.2,0.3,0.25],'K(mD)':[120,124,140]}" 1306 | ], 1307 | "execution_count": 79, 1308 | "outputs": [] 1309 | }, 1310 | { 1311 | "cell_type": "code", 1312 | "metadata": { 1313 | "colab": { 1314 | "base_uri": "https://localhost:8080/" 1315 | }, 1316 | "id": "htcZljeQH_yA", 1317 | "outputId": "f274d92a-cea9-4fc9-e653-d6260f4b742c" 1318 | }, 1319 | "source": [ 1320 | "reservoir1['phi']" 1321 | ], 1322 | "execution_count": 80, 1323 | "outputs": [ 1324 | { 1325 | "output_type": "execute_result", 1326 | "data": { 1327 | "text/plain": [ 1328 | "[0.2, 0.3, 0.25]" 1329 | ] 1330 | }, 1331 | "metadata": { 1332 | "tags": [] 1333 | }, 1334 | "execution_count": 80 1335 | } 1336 | ] 1337 | }, 1338 | { 1339 | "cell_type": "code", 1340 | "metadata": { 1341 | "colab": { 1342 | "base_uri": "https://localhost:8080/" 1343 | }, 1344 | "id": "9nv3vqJwI7-B", 1345 | "outputId": "9e646f7d-80a8-458f-8269-44910984afb6" 1346 | }, 1347 | "source": [ 1348 | "reservoir1.keys()" 1349 | ], 1350 | "execution_count": 83, 1351 | "outputs": [ 1352 | { 1353 | "output_type": "execute_result", 1354 | "data": { 1355 | "text/plain": [ 1356 | "dict_keys(['phi', 'K(mD)'])" 1357 | ] 1358 | }, 1359 | "metadata": { 1360 | "tags": [] 1361 | }, 1362 | "execution_count": 83 1363 | } 1364 | ] 1365 | }, 1366 | { 1367 | "cell_type": "code", 1368 | "metadata": { 1369 | "colab": { 1370 | "base_uri": "https://localhost:8080/" 1371 | }, 1372 | "id": "Jzmku2G3I9aW", 1373 | "outputId": "455ab534-ae2b-4e01-f04a-2368691bdedb" 1374 | }, 1375 | "source": [ 1376 | "reservoir1.values()" 1377 | ], 1378 | "execution_count": 84, 1379 | "outputs": [ 1380 | { 1381 | "output_type": "execute_result", 1382 | "data": { 1383 | "text/plain": [ 1384 | "dict_values([[0.2, 0.3, 0.25], [120, 124, 140]])" 1385 | ] 1386 | }, 1387 | "metadata": { 1388 | "tags": [] 1389 | }, 1390 | "execution_count": 84 1391 | } 1392 | ] 1393 | }, 1394 | { 1395 | "cell_type": "code", 1396 | "metadata": { 1397 | "colab": { 1398 | "base_uri": "https://localhost:8080/", 1399 | "height": 138 1400 | }, 1401 | "id": "CUfHG4BnJGKP", 1402 | "outputId": "ba44c748-ea48-45b8-de2a-40739afe95a9" 1403 | }, 1404 | "source": [ 1405 | "##Optional. Converting a dictionary to a table. \n", 1406 | "import pandas as pd\n", 1407 | "pd.DataFrame(reservoir1)" 1408 | ], 1409 | "execution_count": 85, 1410 | "outputs": [ 1411 | { 1412 | "output_type": "execute_result", 1413 | "data": { 1414 | "text/html": [ 1415 | "
\n", 1416 | "\n", 1429 | "\n", 1430 | " \n", 1431 | " \n", 1432 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | "
phiK(mD)
00.20120
10.30124
20.25140
\n", 1455 | "
" 1456 | ], 1457 | "text/plain": [ 1458 | " phi K(mD)\n", 1459 | "0 0.20 120\n", 1460 | "1 0.30 124\n", 1461 | "2 0.25 140" 1462 | ] 1463 | }, 1464 | "metadata": { 1465 | "tags": [] 1466 | }, 1467 | "execution_count": 85 1468 | } 1469 | ] 1470 | }, 1471 | { 1472 | "cell_type": "markdown", 1473 | "metadata": { 1474 | "id": "ikyTEjC6Q2dG" 1475 | }, 1476 | "source": [ 1477 | "# Chapter 2 : Operators & Statements." 1478 | ] 1479 | }, 1480 | { 1481 | "cell_type": "markdown", 1482 | "metadata": { 1483 | "id": "e54swgeMROwI" 1484 | }, 1485 | "source": [ 1486 | "1. ### Comparison Operators" 1487 | ] 1488 | }, 1489 | { 1490 | "cell_type": "code", 1491 | "metadata": { 1492 | "colab": { 1493 | "base_uri": "https://localhost:8080/" 1494 | }, 1495 | "id": "wz15P9gnJTng", 1496 | "outputId": "ea71f9de-f5ba-474c-99e0-4c5288c9217e" 1497 | }, 1498 | "source": [ 1499 | "1>2" 1500 | ], 1501 | "execution_count": 86, 1502 | "outputs": [ 1503 | { 1504 | "output_type": "execute_result", 1505 | "data": { 1506 | "text/plain": [ 1507 | "False" 1508 | ] 1509 | }, 1510 | "metadata": { 1511 | "tags": [] 1512 | }, 1513 | "execution_count": 86 1514 | } 1515 | ] 1516 | }, 1517 | { 1518 | "cell_type": "code", 1519 | "metadata": { 1520 | "colab": { 1521 | "base_uri": "https://localhost:8080/" 1522 | }, 1523 | "id": "bMElx0MbQyxW", 1524 | "outputId": "20ebb9d2-8e39-46ca-f30d-48b0d0b089d6" 1525 | }, 1526 | "source": [ 1527 | "2>1" 1528 | ], 1529 | "execution_count": 87, 1530 | "outputs": [ 1531 | { 1532 | "output_type": "execute_result", 1533 | "data": { 1534 | "text/plain": [ 1535 | "True" 1536 | ] 1537 | }, 1538 | "metadata": { 1539 | "tags": [] 1540 | }, 1541 | "execution_count": 87 1542 | } 1543 | ] 1544 | }, 1545 | { 1546 | "cell_type": "code", 1547 | "metadata": { 1548 | "colab": { 1549 | "base_uri": "https://localhost:8080/" 1550 | }, 1551 | "id": "mWkcwNXrRSxo", 1552 | "outputId": "f96f1a02-0070-4dda-9fe4-36740e6c296e" 1553 | }, 1554 | "source": [ 1555 | "1 == 1" 1556 | ], 1557 | "execution_count": 88, 1558 | "outputs": [ 1559 | { 1560 | "output_type": "execute_result", 1561 | "data": { 1562 | "text/plain": [ 1563 | "True" 1564 | ] 1565 | }, 1566 | "metadata": { 1567 | "tags": [] 1568 | }, 1569 | "execution_count": 88 1570 | } 1571 | ] 1572 | }, 1573 | { 1574 | "cell_type": "code", 1575 | "metadata": { 1576 | "colab": { 1577 | "base_uri": "https://localhost:8080/" 1578 | }, 1579 | "id": "wLKFybgdRTzh", 1580 | "outputId": "f693854b-b511-43ab-ad40-5fa91070d732" 1581 | }, 1582 | "source": [ 1583 | "3 >= 1" 1584 | ], 1585 | "execution_count": 89, 1586 | "outputs": [ 1587 | { 1588 | "output_type": "execute_result", 1589 | "data": { 1590 | "text/plain": [ 1591 | "True" 1592 | ] 1593 | }, 1594 | "metadata": { 1595 | "tags": [] 1596 | }, 1597 | "execution_count": 89 1598 | } 1599 | ] 1600 | }, 1601 | { 1602 | "cell_type": "code", 1603 | "metadata": { 1604 | "colab": { 1605 | "base_uri": "https://localhost:8080/" 1606 | }, 1607 | "id": "M8MtRIdCRVuE", 1608 | "outputId": "b93b7239-6118-43ba-cf5a-9184bc9eaf3c" 1609 | }, 1610 | "source": [ 1611 | "1 >= 3" 1612 | ], 1613 | "execution_count": 90, 1614 | "outputs": [ 1615 | { 1616 | "output_type": "execute_result", 1617 | "data": { 1618 | "text/plain": [ 1619 | "False" 1620 | ] 1621 | }, 1622 | "metadata": { 1623 | "tags": [] 1624 | }, 1625 | "execution_count": 90 1626 | } 1627 | ] 1628 | }, 1629 | { 1630 | "cell_type": "markdown", 1631 | "metadata": { 1632 | "id": "fHB0WUtORt2X" 1633 | }, 1634 | "source": [ 1635 | "### 2. Logical Operators." 1636 | ] 1637 | }, 1638 | { 1639 | "cell_type": "code", 1640 | "metadata": { 1641 | "id": "nr3-Z1sTRXUY" 1642 | }, 1643 | "source": [ 1644 | "# and | or | not | is" 1645 | ], 1646 | "execution_count": 91, 1647 | "outputs": [] 1648 | }, 1649 | { 1650 | "cell_type": "code", 1651 | "metadata": { 1652 | "colab": { 1653 | "base_uri": "https://localhost:8080/" 1654 | }, 1655 | "id": "VVph2TeVR0ex", 1656 | "outputId": "cb06ce86-a361-4b71-89b8-2590ebd99727" 1657 | }, 1658 | "source": [ 1659 | "(1 > 2) and (2 < 3)" 1660 | ], 1661 | "execution_count": 92, 1662 | "outputs": [ 1663 | { 1664 | "output_type": "execute_result", 1665 | "data": { 1666 | "text/plain": [ 1667 | "False" 1668 | ] 1669 | }, 1670 | "metadata": { 1671 | "tags": [] 1672 | }, 1673 | "execution_count": 92 1674 | } 1675 | ] 1676 | }, 1677 | { 1678 | "cell_type": "code", 1679 | "metadata": { 1680 | "colab": { 1681 | "base_uri": "https://localhost:8080/" 1682 | }, 1683 | "id": "31YS3PxMR3bx", 1684 | "outputId": "03059976-8892-4fe1-bc09-ee06d34bdf55" 1685 | }, 1686 | "source": [ 1687 | "(1 > 2) or (2 < 3)" 1688 | ], 1689 | "execution_count": 93, 1690 | "outputs": [ 1691 | { 1692 | "output_type": "execute_result", 1693 | "data": { 1694 | "text/plain": [ 1695 | "True" 1696 | ] 1697 | }, 1698 | "metadata": { 1699 | "tags": [] 1700 | }, 1701 | "execution_count": 93 1702 | } 1703 | ] 1704 | }, 1705 | { 1706 | "cell_type": "code", 1707 | "metadata": { 1708 | "colab": { 1709 | "base_uri": "https://localhost:8080/" 1710 | }, 1711 | "id": "SBiwAOotR5sY", 1712 | "outputId": "02e4f8ed-5039-40a3-e5d1-1f7a11f8aa0f" 1713 | }, 1714 | "source": [ 1715 | "(1 == 2) or (2 == 3) or (4 == 4)" 1716 | ], 1717 | "execution_count": 94, 1718 | "outputs": [ 1719 | { 1720 | "output_type": "execute_result", 1721 | "data": { 1722 | "text/plain": [ 1723 | "True" 1724 | ] 1725 | }, 1726 | "metadata": { 1727 | "tags": [] 1728 | }, 1729 | "execution_count": 94 1730 | } 1731 | ] 1732 | }, 1733 | { 1734 | "cell_type": "code", 1735 | "metadata": { 1736 | "colab": { 1737 | "base_uri": "https://localhost:8080/" 1738 | }, 1739 | "id": "Ly2LiwaoR7go", 1740 | "outputId": "76b7a22c-fe5c-4ec8-af0c-f3bb195691a6" 1741 | }, 1742 | "source": [ 1743 | "not 1" 1744 | ], 1745 | "execution_count": 96, 1746 | "outputs": [ 1747 | { 1748 | "output_type": "execute_result", 1749 | "data": { 1750 | "text/plain": [ 1751 | "False" 1752 | ] 1753 | }, 1754 | "metadata": { 1755 | "tags": [] 1756 | }, 1757 | "execution_count": 96 1758 | } 1759 | ] 1760 | }, 1761 | { 1762 | "cell_type": "code", 1763 | "metadata": { 1764 | "colab": { 1765 | "base_uri": "https://localhost:8080/" 1766 | }, 1767 | "id": "W4JyXHwJR83t", 1768 | "outputId": "e1406ecb-8195-4399-e0f1-e24cd66b52e8" 1769 | }, 1770 | "source": [ 1771 | "1 is 2" 1772 | ], 1773 | "execution_count": 98, 1774 | "outputs": [ 1775 | { 1776 | "output_type": "execute_result", 1777 | "data": { 1778 | "text/plain": [ 1779 | "False" 1780 | ] 1781 | }, 1782 | "metadata": { 1783 | "tags": [] 1784 | }, 1785 | "execution_count": 98 1786 | } 1787 | ] 1788 | }, 1789 | { 1790 | "cell_type": "markdown", 1791 | "metadata": { 1792 | "id": "VxLqMe8RStmi" 1793 | }, 1794 | "source": [ 1795 | "3. ### if - elif - else Statements." 1796 | ] 1797 | }, 1798 | { 1799 | "cell_type": "code", 1800 | "metadata": { 1801 | "colab": { 1802 | "base_uri": "https://localhost:8080/" 1803 | }, 1804 | "id": "U5fSdks1S1hp", 1805 | "outputId": "0563e838-d5f6-4776-8939-c1fdde4ba47e" 1806 | }, 1807 | "source": [ 1808 | "\n", 1809 | "if 1 == 2:\n", 1810 | " print('first')\n", 1811 | "elif 3 == 3:\n", 1812 | " print('middle')\n", 1813 | "else:\n", 1814 | " print('Last')" 1815 | ], 1816 | "execution_count": 99, 1817 | "outputs": [ 1818 | { 1819 | "output_type": "stream", 1820 | "text": [ 1821 | "middle\n" 1822 | ], 1823 | "name": "stdout" 1824 | } 1825 | ] 1826 | }, 1827 | { 1828 | "cell_type": "code", 1829 | "metadata": { 1830 | "colab": { 1831 | "base_uri": "https://localhost:8080/" 1832 | }, 1833 | "id": "Ru9jrpCsS8mb", 1834 | "outputId": "f7005b40-d9b5-4dfd-fb61-db18bde11597" 1835 | }, 1836 | "source": [ 1837 | "user_input = 'x'\n", 1838 | "\n", 1839 | "if type(user_input) == str:\n", 1840 | " print('Invalid Input')\n", 1841 | "else:\n", 1842 | " if user_input % 2 == 0:\n", 1843 | " print('Even Number')\n", 1844 | " elif user_input % 2 != 0:\n", 1845 | " print('ODD Number')\n" 1846 | ], 1847 | "execution_count": 111, 1848 | "outputs": [ 1849 | { 1850 | "output_type": "stream", 1851 | "text": [ 1852 | "Invalid Input\n" 1853 | ], 1854 | "name": "stdout" 1855 | } 1856 | ] 1857 | }, 1858 | { 1859 | "cell_type": "markdown", 1860 | "metadata": { 1861 | "id": "lbGHKtnGX6qf" 1862 | }, 1863 | "source": [ 1864 | "# Chapter 3 : Loops / Iterations" 1865 | ] 1866 | }, 1867 | { 1868 | "cell_type": "markdown", 1869 | "metadata": { 1870 | "id": "KfkB4t6ZYNZa" 1871 | }, 1872 | "source": [ 1873 | "### 1. for Loops." 1874 | ] 1875 | }, 1876 | { 1877 | "cell_type": "code", 1878 | "metadata": { 1879 | "colab": { 1880 | "base_uri": "https://localhost:8080/" 1881 | }, 1882 | "id": "KLRPOhjCTSCp", 1883 | "outputId": "98eba13e-1e93-4f4f-daa3-740804a8e6a9" 1884 | }, 1885 | "source": [ 1886 | "liths = ['sst', 'dolo', 'lst', 'shale']\n", 1887 | "\n", 1888 | "for name in liths:\n", 1889 | " print(name)" 1890 | ], 1891 | "execution_count": 112, 1892 | "outputs": [ 1893 | { 1894 | "output_type": "stream", 1895 | "text": [ 1896 | "sst\n", 1897 | "dolo\n", 1898 | "lst\n", 1899 | "shale\n" 1900 | ], 1901 | "name": "stdout" 1902 | } 1903 | ] 1904 | }, 1905 | { 1906 | "cell_type": "code", 1907 | "metadata": { 1908 | "colab": { 1909 | "base_uri": "https://localhost:8080/" 1910 | }, 1911 | "id": "NcdcQVq5Tsa8", 1912 | "outputId": "c8a5fa9e-5c9c-4695-b080-c921ed313399" 1913 | }, 1914 | "source": [ 1915 | "nums = [1,2,3,4,5,6,7,8,9]\n", 1916 | "\n", 1917 | "for n in nums:\n", 1918 | " if n% 2 == 0:\n", 1919 | " print('EVEN')\n", 1920 | " else:\n", 1921 | " print('ODD')" 1922 | ], 1923 | "execution_count": 113, 1924 | "outputs": [ 1925 | { 1926 | "output_type": "stream", 1927 | "text": [ 1928 | "ODD\n", 1929 | "EVEN\n", 1930 | "ODD\n", 1931 | "EVEN\n", 1932 | "ODD\n", 1933 | "EVEN\n", 1934 | "ODD\n", 1935 | "EVEN\n", 1936 | "ODD\n" 1937 | ], 1938 | "name": "stdout" 1939 | } 1940 | ] 1941 | }, 1942 | { 1943 | "cell_type": "markdown", 1944 | "metadata": { 1945 | "id": "J2Lk7_1nY7gY" 1946 | }, 1947 | "source": [ 1948 | "### 2. While Loops." 1949 | ] 1950 | }, 1951 | { 1952 | "cell_type": "code", 1953 | "metadata": { 1954 | "colab": { 1955 | "base_uri": "https://localhost:8080/" 1956 | }, 1957 | "id": "2jGYd1FMYxeg", 1958 | "outputId": "513eacef-ac23-452c-c5ae-09144298594a" 1959 | }, 1960 | "source": [ 1961 | "#Keeps running as long as the condition is satisfied.\n", 1962 | "i = 1\n", 1963 | "while i < 5:\n", 1964 | " print('i is: {}'.format(i))\n", 1965 | " i = i+1" 1966 | ], 1967 | "execution_count": 115, 1968 | "outputs": [ 1969 | { 1970 | "output_type": "stream", 1971 | "text": [ 1972 | "i is: 1\n", 1973 | "i is: 2\n", 1974 | "i is: 3\n", 1975 | "i is: 4\n" 1976 | ], 1977 | "name": "stdout" 1978 | } 1979 | ] 1980 | }, 1981 | { 1982 | "cell_type": "code", 1983 | "metadata": { 1984 | "colab": { 1985 | "base_uri": "https://localhost:8080/" 1986 | }, 1987 | "id": "CzTNJiS2Y-3M", 1988 | "outputId": "272b9084-163b-4b56-968b-88cf8b15e76a" 1989 | }, 1990 | "source": [ 1991 | "#NOTE Range Function. \n", 1992 | "range(10)" 1993 | ], 1994 | "execution_count": 116, 1995 | "outputs": [ 1996 | { 1997 | "output_type": "execute_result", 1998 | "data": { 1999 | "text/plain": [ 2000 | "range(0, 10)" 2001 | ] 2002 | }, 2003 | "metadata": { 2004 | "tags": [] 2005 | }, 2006 | "execution_count": 116 2007 | } 2008 | ] 2009 | }, 2010 | { 2011 | "cell_type": "code", 2012 | "metadata": { 2013 | "colab": { 2014 | "base_uri": "https://localhost:8080/" 2015 | }, 2016 | "id": "zhXbaoOhZy0F", 2017 | "outputId": "98cee505-3796-4087-b67a-cee4977c97e7" 2018 | }, 2019 | "source": [ 2020 | "for i in range(10):\n", 2021 | " print(i)" 2022 | ], 2023 | "execution_count": 117, 2024 | "outputs": [ 2025 | { 2026 | "output_type": "stream", 2027 | "text": [ 2028 | "0\n", 2029 | "1\n", 2030 | "2\n", 2031 | "3\n", 2032 | "4\n", 2033 | "5\n", 2034 | "6\n", 2035 | "7\n", 2036 | "8\n", 2037 | "9\n" 2038 | ], 2039 | "name": "stdout" 2040 | } 2041 | ] 2042 | }, 2043 | { 2044 | "cell_type": "markdown", 2045 | "metadata": { 2046 | "id": "8EoLoKJxZ51Q" 2047 | }, 2048 | "source": [ 2049 | "# Chapter 4 : Functions" 2050 | ] 2051 | }, 2052 | { 2053 | "cell_type": "code", 2054 | "metadata": { 2055 | "id": "g8cqFNniZ10e" 2056 | }, 2057 | "source": [ 2058 | "def func_name():\n", 2059 | " #All you want to do in the function. \n", 2060 | " #return values if applicable. \n", 2061 | " pass" 2062 | ], 2063 | "execution_count": 118, 2064 | "outputs": [] 2065 | }, 2066 | { 2067 | "cell_type": "code", 2068 | "metadata": { 2069 | "id": "J4LUmaR2aka0" 2070 | }, 2071 | "source": [ 2072 | "#Example 1 : Take an input and return square. \n", 2073 | "def squarer(x):\n", 2074 | "\n", 2075 | " sq = x**2\n", 2076 | "\n", 2077 | " return sq" 2078 | ], 2079 | "execution_count": 119, 2080 | "outputs": [] 2081 | }, 2082 | { 2083 | "cell_type": "code", 2084 | "metadata": { 2085 | "colab": { 2086 | "base_uri": "https://localhost:8080/" 2087 | }, 2088 | "id": "ChOycHO-ar2X", 2089 | "outputId": "d495082a-4782-4a03-f824-395c11c6e905" 2090 | }, 2091 | "source": [ 2092 | "squarer(2)" 2093 | ], 2094 | "execution_count": 120, 2095 | "outputs": [ 2096 | { 2097 | "output_type": "execute_result", 2098 | "data": { 2099 | "text/plain": [ 2100 | "4" 2101 | ] 2102 | }, 2103 | "metadata": { 2104 | "tags": [] 2105 | }, 2106 | "execution_count": 120 2107 | } 2108 | ] 2109 | }, 2110 | { 2111 | "cell_type": "code", 2112 | "metadata": { 2113 | "id": "lAnAbpBNatkV" 2114 | }, 2115 | "source": [ 2116 | "#Example 2 : Take in a number and power and raise number to\n", 2117 | "# that power. \n", 2118 | "\n", 2119 | "def powerer(number, power):\n", 2120 | "\n", 2121 | " result = number**power\n", 2122 | "\n", 2123 | " return result" 2124 | ], 2125 | "execution_count": 121, 2126 | "outputs": [] 2127 | }, 2128 | { 2129 | "cell_type": "code", 2130 | "metadata": { 2131 | "colab": { 2132 | "base_uri": "https://localhost:8080/" 2133 | }, 2134 | "id": "FKIvbl8UbCxK", 2135 | "outputId": "62eb293c-4c0a-42c4-f797-75f18cb1ecbc" 2136 | }, 2137 | "source": [ 2138 | "powerer(625 , 0.5)" 2139 | ], 2140 | "execution_count": 122, 2141 | "outputs": [ 2142 | { 2143 | "output_type": "execute_result", 2144 | "data": { 2145 | "text/plain": [ 2146 | "25.0" 2147 | ] 2148 | }, 2149 | "metadata": { 2150 | "tags": [] 2151 | }, 2152 | "execution_count": 122 2153 | } 2154 | ] 2155 | }, 2156 | { 2157 | "cell_type": "markdown", 2158 | "metadata": { 2159 | "id": "pBK6WvfnjHaC" 2160 | }, 2161 | "source": [ 2162 | "# Mini-Projects 1 : Hands on practice with Functions" 2163 | ] 2164 | }, 2165 | { 2166 | "cell_type": "markdown", 2167 | "metadata": { 2168 | "id": "UuH2oo31jLcF" 2169 | }, 2170 | "source": [ 2171 | "#### Project 1 : Darcy's Law\n", 2172 | "\n", 2173 | "$ q = \\frac {kh} {141.2 \\mu B ln(re/rw) } \\triangle P $ " 2174 | ] 2175 | }, 2176 | { 2177 | "cell_type": "code", 2178 | "metadata": { 2179 | "id": "8I-jY6FYbGI6" 2180 | }, 2181 | "source": [ 2182 | "#Functions are very important. \n", 2183 | "\n", 2184 | "#1. Make the code clean. \n", 2185 | "#2. Helps Prevent repetitive commands." 2186 | ], 2187 | "execution_count": 123, 2188 | "outputs": [] 2189 | }, 2190 | { 2191 | "cell_type": "code", 2192 | "metadata": { 2193 | "id": "ZT27GCZYjzWh" 2194 | }, 2195 | "source": [ 2196 | "#So here the term except delP is important. \n", 2197 | "#And we can use it again and again. So we can create a function of it. \n", 2198 | "\n", 2199 | "#function definition. \n", 2200 | "def slope():\n", 2201 | "\n", 2202 | " k = int(input('Enter K: '))\n", 2203 | " h = int(input('Enter h: '))\n", 2204 | " mu = int(input('Enter viscocity: '))\n", 2205 | " B = float(input('Enter FVF: '))\n", 2206 | "\n", 2207 | " lnrerw = 0.5\n", 2208 | "\n", 2209 | " m = k*h/(141.2*mu*B*lnrerw)\n", 2210 | "\n", 2211 | " return m" 2212 | ], 2213 | "execution_count": 124, 2214 | "outputs": [] 2215 | }, 2216 | { 2217 | "cell_type": "code", 2218 | "metadata": { 2219 | "colab": { 2220 | "base_uri": "https://localhost:8080/" 2221 | }, 2222 | "id": "LQRDbhB1j1Pt", 2223 | "outputId": "77e4ecc4-1708-4b4f-d436-d77cec6fd903" 2224 | }, 2225 | "source": [ 2226 | "#function call to get the value function returns. \n", 2227 | "#Note that this example also teaches how to take user input.\n", 2228 | "delP = 500 #psia\n", 2229 | "\n", 2230 | "m = slope()\n", 2231 | "\n", 2232 | "q = m*delP\n", 2233 | "\n", 2234 | "print(f'The flowrate at {delP} psi drawdown is {q} STB/D')" 2235 | ], 2236 | "execution_count": 125, 2237 | "outputs": [ 2238 | { 2239 | "output_type": "stream", 2240 | "text": [ 2241 | "Enter K: 100\n", 2242 | "Enter h: 30\n", 2243 | "Enter viscocity: 70\n", 2244 | "Enter FVF: 1.1\n", 2245 | "The flowrate at 500 psi drawdown is 275.928037967698 STB/D\n" 2246 | ], 2247 | "name": "stdout" 2248 | } 2249 | ] 2250 | }, 2251 | { 2252 | "cell_type": "markdown", 2253 | "metadata": { 2254 | "id": "E7D0d8DQkGp8" 2255 | }, 2256 | "source": [ 2257 | "#### Project 2 : Function to find API gravity." 2258 | ] 2259 | }, 2260 | { 2261 | "cell_type": "code", 2262 | "metadata": { 2263 | "id": "1uWwE3fDj4mi" 2264 | }, 2265 | "source": [ 2266 | "def API(SG):\n", 2267 | "\n", 2268 | " api = 141.5/SG - 131.5\n", 2269 | "\n", 2270 | " return api" 2271 | ], 2272 | "execution_count": 126, 2273 | "outputs": [] 2274 | }, 2275 | { 2276 | "cell_type": "code", 2277 | "metadata": { 2278 | "colab": { 2279 | "base_uri": "https://localhost:8080/" 2280 | }, 2281 | "id": "F-u61-ZKkSRx", 2282 | "outputId": "b07db1de-0717-45dc-e459-708455fccf50" 2283 | }, 2284 | "source": [ 2285 | "API(1)" 2286 | ], 2287 | "execution_count": 127, 2288 | "outputs": [ 2289 | { 2290 | "output_type": "execute_result", 2291 | "data": { 2292 | "text/plain": [ 2293 | "10.0" 2294 | ] 2295 | }, 2296 | "metadata": { 2297 | "tags": [] 2298 | }, 2299 | "execution_count": 127 2300 | } 2301 | ] 2302 | }, 2303 | { 2304 | "cell_type": "markdown", 2305 | "metadata": { 2306 | "id": "4vlXVxNfkWVm" 2307 | }, 2308 | "source": [ 2309 | "#### LAMBDA Functions / Anonymous Functions." 2310 | ] 2311 | }, 2312 | { 2313 | "cell_type": "code", 2314 | "metadata": { 2315 | "colab": { 2316 | "base_uri": "https://localhost:8080/" 2317 | }, 2318 | "id": "RV7jj3jKkTb9", 2319 | "outputId": "8fe5e78e-8863-4247-c409-3e72e0daa5a0" 2320 | }, 2321 | "source": [ 2322 | "API = lambda SG : 141.5/SG - 131.5\n", 2323 | "\n", 2324 | "API(1)" 2325 | ], 2326 | "execution_count": 128, 2327 | "outputs": [ 2328 | { 2329 | "output_type": "execute_result", 2330 | "data": { 2331 | "text/plain": [ 2332 | "10.0" 2333 | ] 2334 | }, 2335 | "metadata": { 2336 | "tags": [] 2337 | }, 2338 | "execution_count": 128 2339 | } 2340 | ] 2341 | }, 2342 | { 2343 | "cell_type": "markdown", 2344 | "metadata": { 2345 | "id": "GZyP-tCQk0nZ" 2346 | }, 2347 | "source": [ 2348 | "# Mini-Projects 2 : Hands on with Iterations." 2349 | ] 2350 | }, 2351 | { 2352 | "cell_type": "markdown", 2353 | "metadata": { 2354 | "id": "oiWSFkTnlkvO" 2355 | }, 2356 | "source": [ 2357 | "## Solving for a root." 2358 | ] 2359 | }, 2360 | { 2361 | "cell_type": "code", 2362 | "metadata": { 2363 | "colab": { 2364 | "base_uri": "https://localhost:8080/", 2365 | "height": 269 2366 | }, 2367 | "id": "cMKCVZ62kvJJ", 2368 | "outputId": "6f9fa169-4a6c-4dba-896c-1809c5357520" 2369 | }, 2370 | "source": [ 2371 | "#Can ignore on Day1. Can come back later and understand.\n", 2372 | "import numpy as np\n", 2373 | "import matplotlib.pyplot as plt\n", 2374 | "\n", 2375 | "x = np.linspace(-10,10)\n", 2376 | "\n", 2377 | "y1 = np.sin(x) ; y2 = x +1\n", 2378 | "\n", 2379 | "plt.plot(x,y1)\n", 2380 | "plt.plot(x,y2)\n", 2381 | "\n", 2382 | "plt.axvline(root,color='red')\n", 2383 | "\n", 2384 | "plt.ylim(-3,3)\n", 2385 | "plt.xlim(-5,5)\n", 2386 | "\n", 2387 | "plt.grid()" 2388 | ], 2389 | "execution_count": 151, 2390 | "outputs": [ 2391 | { 2392 | "output_type": "display_data", 2393 | "data": { 2394 | "image/png": "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\n", 2395 | "text/plain": [ 2396 | "
" 2397 | ] 2398 | }, 2399 | "metadata": { 2400 | "tags": [], 2401 | "needs_background": "light" 2402 | } 2403 | } 2404 | ] 2405 | }, 2406 | { 2407 | "cell_type": "code", 2408 | "metadata": { 2409 | "id": "C-_q5YB4lWfm" 2410 | }, 2411 | "source": [ 2412 | "# Analytical way :\n", 2413 | "# sinx = x and solve." 2414 | ], 2415 | "execution_count": 133, 2416 | "outputs": [] 2417 | }, 2418 | { 2419 | "cell_type": "markdown", 2420 | "metadata": { 2421 | "id": "uSOL6iXRlxbb" 2422 | }, 2423 | "source": [ 2424 | "### Using Newton-Raphson's Method. \n", 2425 | "\n" 2426 | ] 2427 | }, 2428 | { 2429 | "cell_type": "markdown", 2430 | "metadata": { 2431 | "id": "lf-uehoHmNiN" 2432 | }, 2433 | "source": [ 2434 | "Step 1 : $ f(x) = 0 $\n", 2435 | "\n", 2436 | "Step 2 : $ x_{n+1} = x_{n} - \\frac{f(x_n)}{ f'(x_n)} $\n", 2437 | "\n", 2438 | "Repeat Step 2 till Convergence." 2439 | ] 2440 | }, 2441 | { 2442 | "cell_type": "code", 2443 | "metadata": { 2444 | "id": "vKac8sHBlwcp" 2445 | }, 2446 | "source": [ 2447 | "import math" 2448 | ], 2449 | "execution_count": 139, 2450 | "outputs": [] 2451 | }, 2452 | { 2453 | "cell_type": "code", 2454 | "metadata": { 2455 | "id": "9M6nwX7nmywQ" 2456 | }, 2457 | "source": [ 2458 | "# f(x) = 1 + x - sin(x) \n", 2459 | "# f'(x) = 1 - cos(x)\n", 2460 | "\n", 2461 | "f = lambda x_0 : 1 + x_0 - math.sin(x_0)\n", 2462 | "fdash = lambda x_0 : 1 - math.cos(x_0)\n", 2463 | "\n", 2464 | "\n", 2465 | "\n", 2466 | "x0 = 1\n", 2467 | "for i in range(2):\n", 2468 | " x0 = x0 - f(x0)/fdash(x0)\n", 2469 | "\n", 2470 | "root = x0" 2471 | ], 2472 | "execution_count": 150, 2473 | "outputs": [] 2474 | }, 2475 | { 2476 | "cell_type": "code", 2477 | "metadata": { 2478 | "colab": { 2479 | "base_uri": "https://localhost:8080/" 2480 | }, 2481 | "id": "wXjvAl4wm8z5", 2482 | "outputId": "0e6c1f88-88ff-465f-a2d9-77b0c239bcf4" 2483 | }, 2484 | "source": [ 2485 | "root" 2486 | ], 2487 | "execution_count": 154, 2488 | "outputs": [ 2489 | { 2490 | "output_type": "execute_result", 2491 | "data": { 2492 | "text/plain": [ 2493 | "-2.0242117630700327" 2494 | ] 2495 | }, 2496 | "metadata": { 2497 | "tags": [] 2498 | }, 2499 | "execution_count": 154 2500 | } 2501 | ] 2502 | }, 2503 | { 2504 | "cell_type": "code", 2505 | "metadata": { 2506 | "colab": { 2507 | "base_uri": "https://localhost:8080/" 2508 | }, 2509 | "id": "XvvWzeghn0oz", 2510 | "outputId": "103f2f3a-790a-48c6-cb1e-4e7ab8fb77af" 2511 | }, 2512 | "source": [ 2513 | "math.sin(root)" 2514 | ], 2515 | "execution_count": 157, 2516 | "outputs": [ 2517 | { 2518 | "output_type": "execute_result", 2519 | "data": { 2520 | "text/plain": [ 2521 | "-0.8989562562324447" 2522 | ] 2523 | }, 2524 | "metadata": { 2525 | "tags": [] 2526 | }, 2527 | "execution_count": 157 2528 | } 2529 | ] 2530 | }, 2531 | { 2532 | "cell_type": "code", 2533 | "metadata": { 2534 | "colab": { 2535 | "base_uri": "https://localhost:8080/" 2536 | }, 2537 | "id": "iVaPdDvvoSJQ", 2538 | "outputId": "fb9897d3-27ed-4198-940e-51f554e35e26" 2539 | }, 2540 | "source": [ 2541 | "1 + root" 2542 | ], 2543 | "execution_count": 156, 2544 | "outputs": [ 2545 | { 2546 | "output_type": "execute_result", 2547 | "data": { 2548 | "text/plain": [ 2549 | "-1.0242117630700327" 2550 | ] 2551 | }, 2552 | "metadata": { 2553 | "tags": [] 2554 | }, 2555 | "execution_count": 156 2556 | } 2557 | ] 2558 | }, 2559 | { 2560 | "cell_type": "markdown", 2561 | "metadata": { 2562 | "id": "X4Cz_ur4olVH" 2563 | }, 2564 | "source": [ 2565 | "# Homework Project :\n", 2566 | "\n", 2567 | "1. Finding Square Root Using Loops (Newton-Raphson). \n", 2568 | "\n", 2569 | "2. Klinkenberg Effect (Tarek Ahmed) using Newton Raphson.\n", 2570 | "\n", 2571 | "Source to Learn : https://www.youtube.com/watch?v=IHV7NO3akJ0&list=PLLwtZopJNyqZQ2n-UV0chlF3GXRL8f-ox" 2572 | ] 2573 | }, 2574 | { 2575 | "cell_type": "code", 2576 | "metadata": { 2577 | "id": "qXSpELTsoVQE" 2578 | }, 2579 | "source": [ 2580 | "" 2581 | ], 2582 | "execution_count": null, 2583 | "outputs": [] 2584 | } 2585 | ] 2586 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Petroleum-DS-ML-with-Python 2 | 3 | This Repository consists of All the Codes/Notebooks/Presentations that I've either presented in various events in the past or will be presenting. 4 | 5 | The main aim is to put together all the Petroleum Data Analytics Projects at one place, and allow easy sharing. 6 | --------------------------------------------------------------------------------