├── .gitattributes ├── .ipynb_checkpoints └── pandas-checkpoint.ipynb ├── LICENSE ├── README.md ├── dates.ipynb ├── merging_dataframes.ipynb └── pandas.ipynb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Asif Bhat 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pandas 2 | Pandas 3 | -------------------------------------------------------------------------------- /merging_dataframes.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "hide_input": false 7 | }, 8 | "source": [ 9 | "\n", 10 | "\n", 11 | "\n", 12 | "
\n", 13 | "

Prepared by Asif Bhat

\n", 14 | "

Merging Dataframes

\n", 15 | "
\n", 16 | " \n", 17 | "\n", 18 | "" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 1, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "import numpy as np\n", 28 | "import pandas as pd\n", 29 | "from IPython.core.interactiveshell import InteractiveShell\n", 30 | "InteractiveShell.ast_node_interactivity = \"all\"" 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": {}, 36 | "source": [ 37 | "### Merging Dataframes" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 2, 43 | "metadata": {}, 44 | "outputs": [ 45 | { 46 | "data": { 47 | "text/html": [ 48 | "
\n", 49 | "\n", 62 | "\n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | "
empidName
0E90Asif
1E87Basit
\n", 83 | "
" 84 | ], 85 | "text/plain": [ 86 | " empid Name\n", 87 | "0 E90 Asif\n", 88 | "1 E87 Basit" 89 | ] 90 | }, 91 | "execution_count": 2, 92 | "metadata": {}, 93 | "output_type": "execute_result" 94 | }, 95 | { 96 | "data": { 97 | "text/html": [ 98 | "
\n", 99 | "\n", 112 | "\n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | "
empidName
0E22Minil
1E74Akash
2E90Asif
\n", 138 | "
" 139 | ], 140 | "text/plain": [ 141 | " empid Name\n", 142 | "0 E22 Minil\n", 143 | "1 E74 Akash\n", 144 | "2 E90 Asif" 145 | ] 146 | }, 147 | "execution_count": 2, 148 | "metadata": {}, 149 | "output_type": "execute_result" 150 | }, 151 | { 152 | "data": { 153 | "text/html": [ 154 | "
\n", 155 | "\n", 168 | "\n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | "
empidCityState
0E87MumbaiMaharashtra
1E22BangloreKarnataka
2E49PuneMaharashtra
\n", 198 | "
" 199 | ], 200 | "text/plain": [ 201 | " empid City State\n", 202 | "0 E87 Mumbai Maharashtra\n", 203 | "1 E22 Banglore Karnataka\n", 204 | "2 E49 Pune Maharashtra" 205 | ] 206 | }, 207 | "execution_count": 2, 208 | "metadata": {}, 209 | "output_type": "execute_result" 210 | } 211 | ], 212 | "source": [ 213 | "emp1= pd.DataFrame({'empid':['E90','E87'],\n", 214 | " 'Name':['Asif','Basit']})\n", 215 | "emp1\n", 216 | "\n", 217 | "\n", 218 | "emp2= pd.DataFrame({'empid':['E22','E74','E90'],\n", 219 | " 'Name':['Minil','Akash','Asif']})\n", 220 | "emp2\n", 221 | "\n", 222 | "\n", 223 | "address= pd.DataFrame({'empid':['E87','E22','E49'], \n", 224 | " 'City':['Mumbai','Banglore','Pune'] , \n", 225 | " 'State':['Maharashtra','Karnataka','Maharashtra']})\n", 226 | "address" 227 | ] 228 | }, 229 | { 230 | "cell_type": "code", 231 | "execution_count": 3, 232 | "metadata": {}, 233 | "outputs": [ 234 | { 235 | "data": { 236 | "text/html": [ 237 | "
\n", 238 | "\n", 251 | "\n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | "
empidName
0E90Asif
1E87Basit
0E22Minil
1E74Akash
2E90Asif
\n", 287 | "
" 288 | ], 289 | "text/plain": [ 290 | " empid Name\n", 291 | "0 E90 Asif\n", 292 | "1 E87 Basit\n", 293 | "0 E22 Minil\n", 294 | "1 E74 Akash\n", 295 | "2 E90 Asif" 296 | ] 297 | }, 298 | "execution_count": 3, 299 | "metadata": {}, 300 | "output_type": "execute_result" 301 | }, 302 | { 303 | "data": { 304 | "text/html": [ 305 | "
\n", 306 | "\n", 319 | "\n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | "
empidName
0E90Asif
1E87Basit
2E22Minil
3E74Akash
4E90Asif
\n", 355 | "
" 356 | ], 357 | "text/plain": [ 358 | " empid Name\n", 359 | "0 E90 Asif\n", 360 | "1 E87 Basit\n", 361 | "2 E22 Minil\n", 362 | "3 E74 Akash\n", 363 | "4 E90 Asif" 364 | ] 365 | }, 366 | "execution_count": 3, 367 | "metadata": {}, 368 | "output_type": "execute_result" 369 | } 370 | ], 371 | "source": [ 372 | "#Concat Dataframes\n", 373 | "# Method-1\n", 374 | "employees = pd.concat([emp1,emp2])\n", 375 | "employees\n", 376 | "employees=employees.reset_index(drop=True)\n", 377 | "employees" 378 | ] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": 4, 383 | "metadata": {}, 384 | "outputs": [ 385 | { 386 | "data": { 387 | "text/html": [ 388 | "
\n", 389 | "\n", 402 | "\n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | "
empidName
0E90Asif
1E87Basit
0E22Minil
1E74Akash
2E90Asif
\n", 438 | "
" 439 | ], 440 | "text/plain": [ 441 | " empid Name\n", 442 | "0 E90 Asif\n", 443 | "1 E87 Basit\n", 444 | "0 E22 Minil\n", 445 | "1 E74 Akash\n", 446 | "2 E90 Asif" 447 | ] 448 | }, 449 | "execution_count": 4, 450 | "metadata": {}, 451 | "output_type": "execute_result" 452 | }, 453 | { 454 | "data": { 455 | "text/html": [ 456 | "
\n", 457 | "\n", 470 | "\n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | "
empidName
0E90Asif
1E87Basit
2E22Minil
3E74Akash
4E90Asif
\n", 506 | "
" 507 | ], 508 | "text/plain": [ 509 | " empid Name\n", 510 | "0 E90 Asif\n", 511 | "1 E87 Basit\n", 512 | "2 E22 Minil\n", 513 | "3 E74 Akash\n", 514 | "4 E90 Asif" 515 | ] 516 | }, 517 | "execution_count": 4, 518 | "metadata": {}, 519 | "output_type": "execute_result" 520 | } 521 | ], 522 | "source": [ 523 | "#Concat Dataframe\n", 524 | "# Method-2\n", 525 | "employees1 = emp1.append(emp2)\n", 526 | "employees1\n", 527 | "employees1=employees1.reset_index(drop=True)\n", 528 | "employees1" 529 | ] 530 | }, 531 | { 532 | "cell_type": "code", 533 | "execution_count": 40, 534 | "metadata": {}, 535 | "outputs": [ 536 | { 537 | "data": { 538 | "text/html": [ 539 | "
\n", 540 | "\n", 553 | "\n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | "
empidName
0E90Asif
1E87Basit
2E22Minil
3E74Akash
4E90Asif
\n", 589 | "
" 590 | ], 591 | "text/plain": [ 592 | " empid Name\n", 593 | "0 E90 Asif\n", 594 | "1 E87 Basit\n", 595 | "2 E22 Minil\n", 596 | "3 E74 Akash\n", 597 | "4 E90 Asif" 598 | ] 599 | }, 600 | "execution_count": 40, 601 | "metadata": {}, 602 | "output_type": "execute_result" 603 | } 604 | ], 605 | "source": [ 606 | "employees2= pd.concat([emp1,emp2],ignore_index=True)\n", 607 | "employees2" 608 | ] 609 | }, 610 | { 611 | "cell_type": "code", 612 | "execution_count": 41, 613 | "metadata": {}, 614 | "outputs": [ 615 | { 616 | "data": { 617 | "text/html": [ 618 | "
\n", 619 | "\n", 632 | "\n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | "
empidName
4E90Asif
\n", 648 | "
" 649 | ], 650 | "text/plain": [ 651 | " empid Name\n", 652 | "4 E90 Asif" 653 | ] 654 | }, 655 | "execution_count": 41, 656 | "metadata": {}, 657 | "output_type": "execute_result" 658 | } 659 | ], 660 | "source": [ 661 | "# Check for duplicates after concatenation\n", 662 | "duplicates = employees[employees.duplicated()]\n", 663 | "duplicates" 664 | ] 665 | }, 666 | { 667 | "cell_type": "code", 668 | "execution_count": 42, 669 | "metadata": {}, 670 | "outputs": [ 671 | { 672 | "data": { 673 | "text/html": [ 674 | "
\n", 675 | "\n", 688 | "\n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | "
empidName
1E87Basit
2E22Minil
3E74Akash
4E90Asif
\n", 719 | "
" 720 | ], 721 | "text/plain": [ 722 | " empid Name\n", 723 | "1 E87 Basit\n", 724 | "2 E22 Minil\n", 725 | "3 E74 Akash\n", 726 | "4 E90 Asif" 727 | ] 728 | }, 729 | "execution_count": 42, 730 | "metadata": {}, 731 | "output_type": "execute_result" 732 | } 733 | ], 734 | "source": [ 735 | "# Remove duplicates\n", 736 | "employees.drop_duplicates(keep='last',inplace=True)\n", 737 | "employees" 738 | ] 739 | }, 740 | { 741 | "cell_type": "code", 742 | "execution_count": 43, 743 | "metadata": {}, 744 | "outputs": [ 745 | { 746 | "data": { 747 | "text/html": [ 748 | "
\n", 749 | "\n", 762 | "\n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | "
empidName
0E87Basit
1E22Minil
2E74Akash
3E90Asif
\n", 793 | "
" 794 | ], 795 | "text/plain": [ 796 | " empid Name\n", 797 | "0 E87 Basit\n", 798 | "1 E22 Minil\n", 799 | "2 E74 Akash\n", 800 | "3 E90 Asif" 801 | ] 802 | }, 803 | "execution_count": 43, 804 | "metadata": {}, 805 | "output_type": "execute_result" 806 | } 807 | ], 808 | "source": [ 809 | "employees.reset_index(drop=True,inplace=True)\n", 810 | "employees" 811 | ] 812 | }, 813 | { 814 | "cell_type": "code", 815 | "execution_count": 44, 816 | "metadata": {}, 817 | "outputs": [ 818 | { 819 | "data": { 820 | "text/html": [ 821 | "
\n", 822 | "\n", 835 | "\n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | "
empidName
0E87Basit
1E22Minil
2E74Akash
3E90Asif
\n", 866 | "
" 867 | ], 868 | "text/plain": [ 869 | " empid Name\n", 870 | "0 E87 Basit\n", 871 | "1 E22 Minil\n", 872 | "2 E74 Akash\n", 873 | "3 E90 Asif" 874 | ] 875 | }, 876 | "execution_count": 44, 877 | "metadata": {}, 878 | "output_type": "execute_result" 879 | }, 880 | { 881 | "data": { 882 | "text/html": [ 883 | "
\n", 884 | "\n", 897 | "\n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | "
empidCityState
0E87MumbaiMaharashtra
1E22BangloreKarnataka
2E49PuneMaharashtra
\n", 927 | "
" 928 | ], 929 | "text/plain": [ 930 | " empid City State\n", 931 | "0 E87 Mumbai Maharashtra\n", 932 | "1 E22 Banglore Karnataka\n", 933 | "2 E49 Pune Maharashtra" 934 | ] 935 | }, 936 | "execution_count": 44, 937 | "metadata": {}, 938 | "output_type": "execute_result" 939 | } 940 | ], 941 | "source": [ 942 | "employees\n", 943 | "address" 944 | ] 945 | }, 946 | { 947 | "cell_type": "markdown", 948 | "metadata": {}, 949 | "source": [ 950 | "#### Inner Join" 951 | ] 952 | }, 953 | { 954 | "cell_type": "markdown", 955 | "metadata": {}, 956 | "source": [ 957 | "" 958 | ] 959 | }, 960 | { 961 | "cell_type": "code", 962 | "execution_count": 20, 963 | "metadata": {}, 964 | "outputs": [ 965 | { 966 | "data": { 967 | "text/html": [ 968 | "
\n", 969 | "\n", 982 | "\n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | "
empidNameCityState
0E87BasitMumbaiMaharashtra
1E22MinilBangloreKarnataka
\n", 1009 | "
" 1010 | ], 1011 | "text/plain": [ 1012 | " empid Name City State\n", 1013 | "0 E87 Basit Mumbai Maharashtra\n", 1014 | "1 E22 Minil Banglore Karnataka" 1015 | ] 1016 | }, 1017 | "execution_count": 20, 1018 | "metadata": {}, 1019 | "output_type": "execute_result" 1020 | } 1021 | ], 1022 | "source": [ 1023 | "# Inner Join\n", 1024 | "inner = pd.merge(employees,address,on='empid')\n", 1025 | "inner" 1026 | ] 1027 | }, 1028 | { 1029 | "cell_type": "code", 1030 | "execution_count": 21, 1031 | "metadata": {}, 1032 | "outputs": [ 1033 | { 1034 | "data": { 1035 | "text/html": [ 1036 | "
\n", 1037 | "\n", 1050 | "\n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | "
empidNameCityState
0E87BasitMumbaiMaharashtra
1E22MinilBangloreKarnataka
\n", 1077 | "
" 1078 | ], 1079 | "text/plain": [ 1080 | " empid Name City State\n", 1081 | "0 E87 Basit Mumbai Maharashtra\n", 1082 | "1 E22 Minil Banglore Karnataka" 1083 | ] 1084 | }, 1085 | "execution_count": 21, 1086 | "metadata": {}, 1087 | "output_type": "execute_result" 1088 | } 1089 | ], 1090 | "source": [ 1091 | "# Inner Join\n", 1092 | "inner = pd.merge(employees,address,on='empid',how='inner')\n", 1093 | "inner" 1094 | ] 1095 | }, 1096 | { 1097 | "cell_type": "markdown", 1098 | "metadata": {}, 1099 | "source": [ 1100 | "#### Left Outer Join" 1101 | ] 1102 | }, 1103 | { 1104 | "cell_type": "markdown", 1105 | "metadata": {}, 1106 | "source": [ 1107 | "" 1108 | ] 1109 | }, 1110 | { 1111 | "cell_type": "code", 1112 | "execution_count": 22, 1113 | "metadata": {}, 1114 | "outputs": [ 1115 | { 1116 | "data": { 1117 | "text/html": [ 1118 | "
\n", 1119 | "\n", 1132 | "\n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | "
empidNameCityState
0E87BasitMumbaiMaharashtra
1E22MinilBangloreKarnataka
2E74AkashNaNNaN
3E90AsifNaNNaN
\n", 1173 | "
" 1174 | ], 1175 | "text/plain": [ 1176 | " empid Name City State\n", 1177 | "0 E87 Basit Mumbai Maharashtra\n", 1178 | "1 E22 Minil Banglore Karnataka\n", 1179 | "2 E74 Akash NaN NaN\n", 1180 | "3 E90 Asif NaN NaN" 1181 | ] 1182 | }, 1183 | "execution_count": 22, 1184 | "metadata": {}, 1185 | "output_type": "execute_result" 1186 | } 1187 | ], 1188 | "source": [ 1189 | "# Left Outer Join\n", 1190 | "left = pd.merge(employees,address,on='empid',how='left')\n", 1191 | "left" 1192 | ] 1193 | }, 1194 | { 1195 | "cell_type": "markdown", 1196 | "metadata": {}, 1197 | "source": [ 1198 | "#### Right Outer Join" 1199 | ] 1200 | }, 1201 | { 1202 | "cell_type": "markdown", 1203 | "metadata": {}, 1204 | "source": [ 1205 | "" 1206 | ] 1207 | }, 1208 | { 1209 | "cell_type": "code", 1210 | "execution_count": 48, 1211 | "metadata": {}, 1212 | "outputs": [ 1213 | { 1214 | "data": { 1215 | "text/html": [ 1216 | "
\n", 1217 | "\n", 1230 | "\n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | "
empidNameCityState
0E87BasitMumbaiMaharashtra
1E22MinilBangloreKarnataka
2E49NaNPuneMaharashtra
\n", 1264 | "
" 1265 | ], 1266 | "text/plain": [ 1267 | " empid Name City State\n", 1268 | "0 E87 Basit Mumbai Maharashtra\n", 1269 | "1 E22 Minil Banglore Karnataka\n", 1270 | "2 E49 NaN Pune Maharashtra" 1271 | ] 1272 | }, 1273 | "execution_count": 48, 1274 | "metadata": {}, 1275 | "output_type": "execute_result" 1276 | } 1277 | ], 1278 | "source": [ 1279 | "# Right Outer Join\n", 1280 | "right = pd.merge(employees,address,on='empid',how='right')\n", 1281 | "right" 1282 | ] 1283 | }, 1284 | { 1285 | "cell_type": "markdown", 1286 | "metadata": {}, 1287 | "source": [ 1288 | "#### Full Outer Join" 1289 | ] 1290 | }, 1291 | { 1292 | "cell_type": "markdown", 1293 | "metadata": {}, 1294 | "source": [ 1295 | "" 1296 | ] 1297 | }, 1298 | { 1299 | "cell_type": "code", 1300 | "execution_count": 24, 1301 | "metadata": {}, 1302 | "outputs": [ 1303 | { 1304 | "data": { 1305 | "text/html": [ 1306 | "
\n", 1307 | "\n", 1320 | "\n", 1321 | " \n", 1322 | " \n", 1323 | " \n", 1324 | " \n", 1325 | " \n", 1326 | " \n", 1327 | " \n", 1328 | " \n", 1329 | " \n", 1330 | " \n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | "
empidName
0E87Basit
1E22Minil
2E74Akash
3E90Asif
\n", 1351 | "
" 1352 | ], 1353 | "text/plain": [ 1354 | " empid Name\n", 1355 | "0 E87 Basit\n", 1356 | "1 E22 Minil\n", 1357 | "2 E74 Akash\n", 1358 | "3 E90 Asif" 1359 | ] 1360 | }, 1361 | "execution_count": 24, 1362 | "metadata": {}, 1363 | "output_type": "execute_result" 1364 | }, 1365 | { 1366 | "data": { 1367 | "text/html": [ 1368 | "
\n", 1369 | "\n", 1382 | "\n", 1383 | " \n", 1384 | " \n", 1385 | " \n", 1386 | " \n", 1387 | " \n", 1388 | " \n", 1389 | " \n", 1390 | " \n", 1391 | " \n", 1392 | " \n", 1393 | " \n", 1394 | " \n", 1395 | " \n", 1396 | " \n", 1397 | " \n", 1398 | " \n", 1399 | " \n", 1400 | " \n", 1401 | " \n", 1402 | " \n", 1403 | " \n", 1404 | " \n", 1405 | " \n", 1406 | " \n", 1407 | " \n", 1408 | " \n", 1409 | " \n", 1410 | " \n", 1411 | "
empidCityState
0E87MumbaiMaharashtra
1E22BangloreKarnataka
2E49PuneMaharashtra
\n", 1412 | "
" 1413 | ], 1414 | "text/plain": [ 1415 | " empid City State\n", 1416 | "0 E87 Mumbai Maharashtra\n", 1417 | "1 E22 Banglore Karnataka\n", 1418 | "2 E49 Pune Maharashtra" 1419 | ] 1420 | }, 1421 | "execution_count": 24, 1422 | "metadata": {}, 1423 | "output_type": "execute_result" 1424 | } 1425 | ], 1426 | "source": [ 1427 | "employees\n", 1428 | "address" 1429 | ] 1430 | }, 1431 | { 1432 | "cell_type": "code", 1433 | "execution_count": 25, 1434 | "metadata": {}, 1435 | "outputs": [ 1436 | { 1437 | "data": { 1438 | "text/html": [ 1439 | "
\n", 1440 | "\n", 1453 | "\n", 1454 | " \n", 1455 | " \n", 1456 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | "
empidNameCityState
0E87BasitMumbaiMaharashtra
1E22MinilBangloreKarnataka
2E74AkashNaNNaN
3E90AsifNaNNaN
4E49NaNPuneMaharashtra
\n", 1501 | "
" 1502 | ], 1503 | "text/plain": [ 1504 | " empid Name City State\n", 1505 | "0 E87 Basit Mumbai Maharashtra\n", 1506 | "1 E22 Minil Banglore Karnataka\n", 1507 | "2 E74 Akash NaN NaN\n", 1508 | "3 E90 Asif NaN NaN\n", 1509 | "4 E49 NaN Pune Maharashtra" 1510 | ] 1511 | }, 1512 | "execution_count": 25, 1513 | "metadata": {}, 1514 | "output_type": "execute_result" 1515 | } 1516 | ], 1517 | "source": [ 1518 | "#Full outer join\n", 1519 | "full = pd.merge(employees,address,how='outer',on='empid')\n", 1520 | "full" 1521 | ] 1522 | }, 1523 | { 1524 | "cell_type": "code", 1525 | "execution_count": 26, 1526 | "metadata": {}, 1527 | "outputs": [ 1528 | { 1529 | "data": { 1530 | "text/html": [ 1531 | "
\n", 1532 | "\n", 1545 | "\n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | "
empidsalary
0E87$10,000
1E22$30,000
2E74$20,000
3E90$60,000
4E49$90,000
\n", 1581 | "
" 1582 | ], 1583 | "text/plain": [ 1584 | " empid salary\n", 1585 | "0 E87 $10,000\n", 1586 | "1 E22 $30,000\n", 1587 | "2 E74 $20,000\n", 1588 | "3 E90 $60,000\n", 1589 | "4 E49 $90,000" 1590 | ] 1591 | }, 1592 | "execution_count": 26, 1593 | "metadata": {}, 1594 | "output_type": "execute_result" 1595 | } 1596 | ], 1597 | "source": [ 1598 | "# Salary Data\n", 1599 | "sal = pd.DataFrame({'empid':['E87','E22','E74','E90','E49'],\n", 1600 | " 'salary':['$10,000','$30,000','$20,000','$60,000','$90,000']})\n", 1601 | "sal" 1602 | ] 1603 | }, 1604 | { 1605 | "cell_type": "code", 1606 | "execution_count": 27, 1607 | "metadata": {}, 1608 | "outputs": [ 1609 | { 1610 | "data": { 1611 | "text/html": [ 1612 | "
\n", 1613 | "\n", 1626 | "\n", 1627 | " \n", 1628 | " \n", 1629 | " \n", 1630 | " \n", 1631 | " \n", 1632 | " \n", 1633 | " \n", 1634 | " \n", 1635 | " \n", 1636 | " \n", 1637 | " \n", 1638 | " \n", 1639 | " \n", 1640 | " \n", 1641 | " \n", 1642 | " \n", 1643 | " \n", 1644 | " \n", 1645 | " \n", 1646 | " \n", 1647 | " \n", 1648 | " \n", 1649 | " \n", 1650 | " \n", 1651 | " \n", 1652 | " \n", 1653 | " \n", 1654 | " \n", 1655 | " \n", 1656 | " \n", 1657 | " \n", 1658 | " \n", 1659 | " \n", 1660 | " \n", 1661 | " \n", 1662 | " \n", 1663 | " \n", 1664 | " \n", 1665 | " \n", 1666 | " \n", 1667 | " \n", 1668 | " \n", 1669 | " \n", 1670 | " \n", 1671 | " \n", 1672 | " \n", 1673 | " \n", 1674 | " \n", 1675 | " \n", 1676 | " \n", 1677 | " \n", 1678 | " \n", 1679 | "
empidNameCityStatesalary
0E87BasitMumbaiMaharashtra$10,000
1E22MinilBangloreKarnataka$30,000
2E74AkashNaNNaN$20,000
3E90AsifNaNNaN$60,000
4E49NaNPuneMaharashtra$90,000
\n", 1680 | "
" 1681 | ], 1682 | "text/plain": [ 1683 | " empid Name City State salary\n", 1684 | "0 E87 Basit Mumbai Maharashtra $10,000\n", 1685 | "1 E22 Minil Banglore Karnataka $30,000\n", 1686 | "2 E74 Akash NaN NaN $20,000\n", 1687 | "3 E90 Asif NaN NaN $60,000\n", 1688 | "4 E49 NaN Pune Maharashtra $90,000" 1689 | ] 1690 | }, 1691 | "execution_count": 27, 1692 | "metadata": {}, 1693 | "output_type": "execute_result" 1694 | } 1695 | ], 1696 | "source": [ 1697 | "# Add Salary details ( Merge sal & full dataframes)\n", 1698 | "employee_details = pd.merge(full,sal,how='inner',on='empid')\n", 1699 | "employee_details" 1700 | ] 1701 | }, 1702 | { 1703 | "cell_type": "code", 1704 | "execution_count": 28, 1705 | "metadata": {}, 1706 | "outputs": [ 1707 | { 1708 | "data": { 1709 | "text/html": [ 1710 | "
\n", 1711 | "\n", 1724 | "\n", 1725 | " \n", 1726 | " \n", 1727 | " \n", 1728 | " \n", 1729 | " \n", 1730 | " \n", 1731 | " \n", 1732 | " \n", 1733 | " \n", 1734 | " \n", 1735 | " \n", 1736 | " \n", 1737 | " \n", 1738 | " \n", 1739 | " \n", 1740 | " \n", 1741 | " \n", 1742 | " \n", 1743 | " \n", 1744 | " \n", 1745 | " \n", 1746 | " \n", 1747 | " \n", 1748 | " \n", 1749 | " \n", 1750 | " \n", 1751 | " \n", 1752 | " \n", 1753 | " \n", 1754 | " \n", 1755 | " \n", 1756 | " \n", 1757 | " \n", 1758 | " \n", 1759 | "
employee_idexperience
0E875 years
1E223 years
2E747 years
3E902 years
4E4910 years
\n", 1760 | "
" 1761 | ], 1762 | "text/plain": [ 1763 | " employee_id experience\n", 1764 | "0 E87 5 years\n", 1765 | "1 E22 3 years\n", 1766 | "2 E74 7 years\n", 1767 | "3 E90 2 years\n", 1768 | "4 E49 10 years" 1769 | ] 1770 | }, 1771 | "execution_count": 28, 1772 | "metadata": {}, 1773 | "output_type": "execute_result" 1774 | } 1775 | ], 1776 | "source": [ 1777 | "# Employee experience\n", 1778 | "exp = pd.DataFrame({'employee_id':['E87','E22','E74','E90','E49'],\n", 1779 | " 'experience':['5 years','3 years','7 years','2 years','10 years']})\n", 1780 | "exp " 1781 | ] 1782 | }, 1783 | { 1784 | "cell_type": "code", 1785 | "execution_count": 29, 1786 | "metadata": {}, 1787 | "outputs": [ 1788 | { 1789 | "data": { 1790 | "text/html": [ 1791 | "
\n", 1792 | "\n", 1805 | "\n", 1806 | " \n", 1807 | " \n", 1808 | " \n", 1809 | " \n", 1810 | " \n", 1811 | " \n", 1812 | " \n", 1813 | " \n", 1814 | " \n", 1815 | " \n", 1816 | " \n", 1817 | " \n", 1818 | " \n", 1819 | " \n", 1820 | " \n", 1821 | " \n", 1822 | " \n", 1823 | " \n", 1824 | " \n", 1825 | " \n", 1826 | " \n", 1827 | " \n", 1828 | " \n", 1829 | " \n", 1830 | " \n", 1831 | " \n", 1832 | " \n", 1833 | " \n", 1834 | " \n", 1835 | " \n", 1836 | " \n", 1837 | " \n", 1838 | " \n", 1839 | " \n", 1840 | " \n", 1841 | " \n", 1842 | " \n", 1843 | " \n", 1844 | " \n", 1845 | " \n", 1846 | " \n", 1847 | " \n", 1848 | " \n", 1849 | " \n", 1850 | " \n", 1851 | " \n", 1852 | " \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 | "
empidNameCityStatesalaryemployee_idexperience
0E87BasitMumbaiMaharashtra$10,000E875 years
1E22MinilBangloreKarnataka$30,000E223 years
2E74AkashNaNNaN$20,000E747 years
3E90AsifNaNNaN$60,000E902 years
4E49NaNPuneMaharashtra$90,000E4910 years
\n", 1871 | "
" 1872 | ], 1873 | "text/plain": [ 1874 | " empid Name City State salary employee_id experience\n", 1875 | "0 E87 Basit Mumbai Maharashtra $10,000 E87 5 years\n", 1876 | "1 E22 Minil Banglore Karnataka $30,000 E22 3 years\n", 1877 | "2 E74 Akash NaN NaN $20,000 E74 7 years\n", 1878 | "3 E90 Asif NaN NaN $60,000 E90 2 years\n", 1879 | "4 E49 NaN Pune Maharashtra $90,000 E49 10 years" 1880 | ] 1881 | }, 1882 | "execution_count": 29, 1883 | "metadata": {}, 1884 | "output_type": "execute_result" 1885 | } 1886 | ], 1887 | "source": [ 1888 | "# Add employee experinece using merge()\n", 1889 | "# As column names are different (empid , employee_id) we have to use left_on & right_on parameter\n", 1890 | "pd.merge(employee_details,exp,left_on=['empid'],right_on=['employee_id'],how='inner')" 1891 | ] 1892 | }, 1893 | { 1894 | "cell_type": "code", 1895 | "execution_count": 30, 1896 | "metadata": {}, 1897 | "outputs": [ 1898 | { 1899 | "data": { 1900 | "text/html": [ 1901 | "
\n", 1902 | "\n", 1915 | "\n", 1916 | " \n", 1917 | " \n", 1918 | " \n", 1919 | " \n", 1920 | " \n", 1921 | " \n", 1922 | " \n", 1923 | " \n", 1924 | " \n", 1925 | " \n", 1926 | " \n", 1927 | " \n", 1928 | " \n", 1929 | " \n", 1930 | " \n", 1931 | " \n", 1932 | " \n", 1933 | " \n", 1934 | " \n", 1935 | " \n", 1936 | " \n", 1937 | " \n", 1938 | " \n", 1939 | " \n", 1940 | " \n", 1941 | " \n", 1942 | " \n", 1943 | " \n", 1944 | " \n", 1945 | " \n", 1946 | " \n", 1947 | " \n", 1948 | " \n", 1949 | " \n", 1950 | " \n", 1951 | " \n", 1952 | " \n", 1953 | " \n", 1954 | " \n", 1955 | " \n", 1956 | " \n", 1957 | " \n", 1958 | " \n", 1959 | " \n", 1960 | " \n", 1961 | " \n", 1962 | " \n", 1963 | " \n", 1964 | " \n", 1965 | " \n", 1966 | " \n", 1967 | " \n", 1968 | " \n", 1969 | " \n", 1970 | " \n", 1971 | " \n", 1972 | " \n", 1973 | " \n", 1974 | "
empidNameCityStatesalaryexperience
0E87BasitMumbaiMaharashtra$10,0005 years
1E22MinilBangloreKarnataka$30,0003 years
2E74AkashNaNNaN$20,0007 years
3E90AsifNaNNaN$60,0002 years
4E49NaNPuneMaharashtra$90,00010 years
\n", 1975 | "
" 1976 | ], 1977 | "text/plain": [ 1978 | " empid Name City State salary experience\n", 1979 | "0 E87 Basit Mumbai Maharashtra $10,000 5 years\n", 1980 | "1 E22 Minil Banglore Karnataka $30,000 3 years\n", 1981 | "2 E74 Akash NaN NaN $20,000 7 years\n", 1982 | "3 E90 Asif NaN NaN $60,000 2 years\n", 1983 | "4 E49 NaN Pune Maharashtra $90,000 10 years" 1984 | ] 1985 | }, 1986 | "execution_count": 30, 1987 | "metadata": {}, 1988 | "output_type": "execute_result" 1989 | } 1990 | ], 1991 | "source": [ 1992 | "# Add employee experinece using merge() and drop the duplicate column (employee_id)\n", 1993 | "pd.merge(employee_details,exp,left_on=['empid'],right_on=['employee_id'],how='inner').drop('employee_id',axis=1)" 1994 | ] 1995 | }, 1996 | { 1997 | "cell_type": "code", 1998 | "execution_count": 31, 1999 | "metadata": {}, 2000 | "outputs": [ 2001 | { 2002 | "data": { 2003 | "text/html": [ 2004 | "
\n", 2005 | "\n", 2018 | "\n", 2019 | " \n", 2020 | " \n", 2021 | " \n", 2022 | " \n", 2023 | " \n", 2024 | " \n", 2025 | " \n", 2026 | " \n", 2027 | " \n", 2028 | " \n", 2029 | " \n", 2030 | " \n", 2031 | " \n", 2032 | " \n", 2033 | " \n", 2034 | " \n", 2035 | " \n", 2036 | " \n", 2037 | " \n", 2038 | " \n", 2039 | " \n", 2040 | " \n", 2041 | " \n", 2042 | " \n", 2043 | " \n", 2044 | " \n", 2045 | " \n", 2046 | " \n", 2047 | " \n", 2048 | " \n", 2049 | " \n", 2050 | " \n", 2051 | " \n", 2052 | " \n", 2053 | " \n", 2054 | " \n", 2055 | " \n", 2056 | " \n", 2057 | " \n", 2058 | " \n", 2059 | " \n", 2060 | " \n", 2061 | " \n", 2062 | " \n", 2063 | " \n", 2064 | " \n", 2065 | " \n", 2066 | " \n", 2067 | " \n", 2068 | " \n", 2069 | " \n", 2070 | " \n", 2071 | " \n", 2072 | " \n", 2073 | " \n", 2074 | " \n", 2075 | " \n", 2076 | " \n", 2077 | "
empidNameCityStatesalaryexperience
0E87BasitMumbaiMaharashtra$10,0005 years
1E22MinilBangloreKarnataka$30,0003 years
2E74AkashNaNNaN$20,0007 years
3E90AsifNaNNaN$60,0002 years
4E49NaNPuneMaharashtra$90,00010 years
\n", 2078 | "
" 2079 | ], 2080 | "text/plain": [ 2081 | " empid Name City State salary experience\n", 2082 | "0 E87 Basit Mumbai Maharashtra $10,000 5 years\n", 2083 | "1 E22 Minil Banglore Karnataka $30,000 3 years\n", 2084 | "2 E74 Akash NaN NaN $20,000 7 years\n", 2085 | "3 E90 Asif NaN NaN $60,000 2 years\n", 2086 | "4 E49 NaN Pune Maharashtra $90,000 10 years" 2087 | ] 2088 | }, 2089 | "execution_count": 31, 2090 | "metadata": {}, 2091 | "output_type": "execute_result" 2092 | } 2093 | ], 2094 | "source": [ 2095 | "#Save the dataframe\n", 2096 | "employee_details=pd.merge(employee_details,exp,\n", 2097 | " left_on=['empid'],\n", 2098 | " right_on=['employee_id'],\n", 2099 | " how='inner').drop('employee_id',axis=1)\n", 2100 | "employee_details" 2101 | ] 2102 | }, 2103 | { 2104 | "cell_type": "markdown", 2105 | "metadata": {}, 2106 | "source": [ 2107 | "# End" 2108 | ] 2109 | } 2110 | ], 2111 | "metadata": { 2112 | "kernelspec": { 2113 | "display_name": "Python 3", 2114 | "language": "python", 2115 | "name": "python3" 2116 | }, 2117 | "language_info": { 2118 | "codemirror_mode": { 2119 | "name": "ipython", 2120 | "version": 3 2121 | }, 2122 | "file_extension": ".py", 2123 | "mimetype": "text/x-python", 2124 | "name": "python", 2125 | "nbconvert_exporter": "python", 2126 | "pygments_lexer": "ipython3", 2127 | "version": "3.8.5" 2128 | }, 2129 | "varInspector": { 2130 | "cols": { 2131 | "lenName": 16, 2132 | "lenType": 16, 2133 | "lenVar": 40 2134 | }, 2135 | "kernels_config": { 2136 | "python": { 2137 | "delete_cmd_postfix": "", 2138 | "delete_cmd_prefix": "del ", 2139 | "library": "var_list.py", 2140 | "varRefreshCmd": "print(var_dic_list())" 2141 | }, 2142 | "r": { 2143 | "delete_cmd_postfix": ") ", 2144 | "delete_cmd_prefix": "rm(", 2145 | "library": "var_list.r", 2146 | "varRefreshCmd": "cat(var_dic_list()) " 2147 | } 2148 | }, 2149 | "types_to_exclude": [ 2150 | "module", 2151 | "function", 2152 | "builtin_function_or_method", 2153 | "instance", 2154 | "_Feature" 2155 | ], 2156 | "window_display": false 2157 | } 2158 | }, 2159 | "nbformat": 4, 2160 | "nbformat_minor": 4 2161 | } 2162 | --------------------------------------------------------------------------------