├── .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 | " empid | \n",
67 | " Name | \n",
68 | "
\n",
69 | " \n",
70 | " \n",
71 | " \n",
72 | " 0 | \n",
73 | " E90 | \n",
74 | " Asif | \n",
75 | "
\n",
76 | " \n",
77 | " 1 | \n",
78 | " E87 | \n",
79 | " Basit | \n",
80 | "
\n",
81 | " \n",
82 | "
\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 | " empid | \n",
117 | " Name | \n",
118 | "
\n",
119 | " \n",
120 | " \n",
121 | " \n",
122 | " 0 | \n",
123 | " E22 | \n",
124 | " Minil | \n",
125 | "
\n",
126 | " \n",
127 | " 1 | \n",
128 | " E74 | \n",
129 | " Akash | \n",
130 | "
\n",
131 | " \n",
132 | " 2 | \n",
133 | " E90 | \n",
134 | " Asif | \n",
135 | "
\n",
136 | " \n",
137 | "
\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 | " empid | \n",
173 | " City | \n",
174 | " State | \n",
175 | "
\n",
176 | " \n",
177 | " \n",
178 | " \n",
179 | " 0 | \n",
180 | " E87 | \n",
181 | " Mumbai | \n",
182 | " Maharashtra | \n",
183 | "
\n",
184 | " \n",
185 | " 1 | \n",
186 | " E22 | \n",
187 | " Banglore | \n",
188 | " Karnataka | \n",
189 | "
\n",
190 | " \n",
191 | " 2 | \n",
192 | " E49 | \n",
193 | " Pune | \n",
194 | " Maharashtra | \n",
195 | "
\n",
196 | " \n",
197 | "
\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 | " empid | \n",
256 | " Name | \n",
257 | "
\n",
258 | " \n",
259 | " \n",
260 | " \n",
261 | " 0 | \n",
262 | " E90 | \n",
263 | " Asif | \n",
264 | "
\n",
265 | " \n",
266 | " 1 | \n",
267 | " E87 | \n",
268 | " Basit | \n",
269 | "
\n",
270 | " \n",
271 | " 0 | \n",
272 | " E22 | \n",
273 | " Minil | \n",
274 | "
\n",
275 | " \n",
276 | " 1 | \n",
277 | " E74 | \n",
278 | " Akash | \n",
279 | "
\n",
280 | " \n",
281 | " 2 | \n",
282 | " E90 | \n",
283 | " Asif | \n",
284 | "
\n",
285 | " \n",
286 | "
\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 | " empid | \n",
324 | " Name | \n",
325 | "
\n",
326 | " \n",
327 | " \n",
328 | " \n",
329 | " 0 | \n",
330 | " E90 | \n",
331 | " Asif | \n",
332 | "
\n",
333 | " \n",
334 | " 1 | \n",
335 | " E87 | \n",
336 | " Basit | \n",
337 | "
\n",
338 | " \n",
339 | " 2 | \n",
340 | " E22 | \n",
341 | " Minil | \n",
342 | "
\n",
343 | " \n",
344 | " 3 | \n",
345 | " E74 | \n",
346 | " Akash | \n",
347 | "
\n",
348 | " \n",
349 | " 4 | \n",
350 | " E90 | \n",
351 | " Asif | \n",
352 | "
\n",
353 | " \n",
354 | "
\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 | " empid | \n",
407 | " Name | \n",
408 | "
\n",
409 | " \n",
410 | " \n",
411 | " \n",
412 | " 0 | \n",
413 | " E90 | \n",
414 | " Asif | \n",
415 | "
\n",
416 | " \n",
417 | " 1 | \n",
418 | " E87 | \n",
419 | " Basit | \n",
420 | "
\n",
421 | " \n",
422 | " 0 | \n",
423 | " E22 | \n",
424 | " Minil | \n",
425 | "
\n",
426 | " \n",
427 | " 1 | \n",
428 | " E74 | \n",
429 | " Akash | \n",
430 | "
\n",
431 | " \n",
432 | " 2 | \n",
433 | " E90 | \n",
434 | " Asif | \n",
435 | "
\n",
436 | " \n",
437 | "
\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 | " empid | \n",
475 | " Name | \n",
476 | "
\n",
477 | " \n",
478 | " \n",
479 | " \n",
480 | " 0 | \n",
481 | " E90 | \n",
482 | " Asif | \n",
483 | "
\n",
484 | " \n",
485 | " 1 | \n",
486 | " E87 | \n",
487 | " Basit | \n",
488 | "
\n",
489 | " \n",
490 | " 2 | \n",
491 | " E22 | \n",
492 | " Minil | \n",
493 | "
\n",
494 | " \n",
495 | " 3 | \n",
496 | " E74 | \n",
497 | " Akash | \n",
498 | "
\n",
499 | " \n",
500 | " 4 | \n",
501 | " E90 | \n",
502 | " Asif | \n",
503 | "
\n",
504 | " \n",
505 | "
\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 | " empid | \n",
558 | " Name | \n",
559 | "
\n",
560 | " \n",
561 | " \n",
562 | " \n",
563 | " 0 | \n",
564 | " E90 | \n",
565 | " Asif | \n",
566 | "
\n",
567 | " \n",
568 | " 1 | \n",
569 | " E87 | \n",
570 | " Basit | \n",
571 | "
\n",
572 | " \n",
573 | " 2 | \n",
574 | " E22 | \n",
575 | " Minil | \n",
576 | "
\n",
577 | " \n",
578 | " 3 | \n",
579 | " E74 | \n",
580 | " Akash | \n",
581 | "
\n",
582 | " \n",
583 | " 4 | \n",
584 | " E90 | \n",
585 | " Asif | \n",
586 | "
\n",
587 | " \n",
588 | "
\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 | " empid | \n",
637 | " Name | \n",
638 | "
\n",
639 | " \n",
640 | " \n",
641 | " \n",
642 | " 4 | \n",
643 | " E90 | \n",
644 | " Asif | \n",
645 | "
\n",
646 | " \n",
647 | "
\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 | " empid | \n",
693 | " Name | \n",
694 | "
\n",
695 | " \n",
696 | " \n",
697 | " \n",
698 | " 1 | \n",
699 | " E87 | \n",
700 | " Basit | \n",
701 | "
\n",
702 | " \n",
703 | " 2 | \n",
704 | " E22 | \n",
705 | " Minil | \n",
706 | "
\n",
707 | " \n",
708 | " 3 | \n",
709 | " E74 | \n",
710 | " Akash | \n",
711 | "
\n",
712 | " \n",
713 | " 4 | \n",
714 | " E90 | \n",
715 | " Asif | \n",
716 | "
\n",
717 | " \n",
718 | "
\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 | " empid | \n",
767 | " Name | \n",
768 | "
\n",
769 | " \n",
770 | " \n",
771 | " \n",
772 | " 0 | \n",
773 | " E87 | \n",
774 | " Basit | \n",
775 | "
\n",
776 | " \n",
777 | " 1 | \n",
778 | " E22 | \n",
779 | " Minil | \n",
780 | "
\n",
781 | " \n",
782 | " 2 | \n",
783 | " E74 | \n",
784 | " Akash | \n",
785 | "
\n",
786 | " \n",
787 | " 3 | \n",
788 | " E90 | \n",
789 | " Asif | \n",
790 | "
\n",
791 | " \n",
792 | "
\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 | " empid | \n",
840 | " Name | \n",
841 | "
\n",
842 | " \n",
843 | " \n",
844 | " \n",
845 | " 0 | \n",
846 | " E87 | \n",
847 | " Basit | \n",
848 | "
\n",
849 | " \n",
850 | " 1 | \n",
851 | " E22 | \n",
852 | " Minil | \n",
853 | "
\n",
854 | " \n",
855 | " 2 | \n",
856 | " E74 | \n",
857 | " Akash | \n",
858 | "
\n",
859 | " \n",
860 | " 3 | \n",
861 | " E90 | \n",
862 | " Asif | \n",
863 | "
\n",
864 | " \n",
865 | "
\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 | " empid | \n",
902 | " City | \n",
903 | " State | \n",
904 | "
\n",
905 | " \n",
906 | " \n",
907 | " \n",
908 | " 0 | \n",
909 | " E87 | \n",
910 | " Mumbai | \n",
911 | " Maharashtra | \n",
912 | "
\n",
913 | " \n",
914 | " 1 | \n",
915 | " E22 | \n",
916 | " Banglore | \n",
917 | " Karnataka | \n",
918 | "
\n",
919 | " \n",
920 | " 2 | \n",
921 | " E49 | \n",
922 | " Pune | \n",
923 | " Maharashtra | \n",
924 | "
\n",
925 | " \n",
926 | "
\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 | " empid | \n",
987 | " Name | \n",
988 | " City | \n",
989 | " State | \n",
990 | "
\n",
991 | " \n",
992 | " \n",
993 | " \n",
994 | " 0 | \n",
995 | " E87 | \n",
996 | " Basit | \n",
997 | " Mumbai | \n",
998 | " Maharashtra | \n",
999 | "
\n",
1000 | " \n",
1001 | " 1 | \n",
1002 | " E22 | \n",
1003 | " Minil | \n",
1004 | " Banglore | \n",
1005 | " Karnataka | \n",
1006 | "
\n",
1007 | " \n",
1008 | "
\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 | " empid | \n",
1055 | " Name | \n",
1056 | " City | \n",
1057 | " State | \n",
1058 | "
\n",
1059 | " \n",
1060 | " \n",
1061 | " \n",
1062 | " 0 | \n",
1063 | " E87 | \n",
1064 | " Basit | \n",
1065 | " Mumbai | \n",
1066 | " Maharashtra | \n",
1067 | "
\n",
1068 | " \n",
1069 | " 1 | \n",
1070 | " E22 | \n",
1071 | " Minil | \n",
1072 | " Banglore | \n",
1073 | " Karnataka | \n",
1074 | "
\n",
1075 | " \n",
1076 | "
\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 | " empid | \n",
1137 | " Name | \n",
1138 | " City | \n",
1139 | " State | \n",
1140 | "
\n",
1141 | " \n",
1142 | " \n",
1143 | " \n",
1144 | " 0 | \n",
1145 | " E87 | \n",
1146 | " Basit | \n",
1147 | " Mumbai | \n",
1148 | " Maharashtra | \n",
1149 | "
\n",
1150 | " \n",
1151 | " 1 | \n",
1152 | " E22 | \n",
1153 | " Minil | \n",
1154 | " Banglore | \n",
1155 | " Karnataka | \n",
1156 | "
\n",
1157 | " \n",
1158 | " 2 | \n",
1159 | " E74 | \n",
1160 | " Akash | \n",
1161 | " NaN | \n",
1162 | " NaN | \n",
1163 | "
\n",
1164 | " \n",
1165 | " 3 | \n",
1166 | " E90 | \n",
1167 | " Asif | \n",
1168 | " NaN | \n",
1169 | " NaN | \n",
1170 | "
\n",
1171 | " \n",
1172 | "
\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 | " empid | \n",
1235 | " Name | \n",
1236 | " City | \n",
1237 | " State | \n",
1238 | "
\n",
1239 | " \n",
1240 | " \n",
1241 | " \n",
1242 | " 0 | \n",
1243 | " E87 | \n",
1244 | " Basit | \n",
1245 | " Mumbai | \n",
1246 | " Maharashtra | \n",
1247 | "
\n",
1248 | " \n",
1249 | " 1 | \n",
1250 | " E22 | \n",
1251 | " Minil | \n",
1252 | " Banglore | \n",
1253 | " Karnataka | \n",
1254 | "
\n",
1255 | " \n",
1256 | " 2 | \n",
1257 | " E49 | \n",
1258 | " NaN | \n",
1259 | " Pune | \n",
1260 | " Maharashtra | \n",
1261 | "
\n",
1262 | " \n",
1263 | "
\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 | " empid | \n",
1325 | " Name | \n",
1326 | "
\n",
1327 | " \n",
1328 | " \n",
1329 | " \n",
1330 | " 0 | \n",
1331 | " E87 | \n",
1332 | " Basit | \n",
1333 | "
\n",
1334 | " \n",
1335 | " 1 | \n",
1336 | " E22 | \n",
1337 | " Minil | \n",
1338 | "
\n",
1339 | " \n",
1340 | " 2 | \n",
1341 | " E74 | \n",
1342 | " Akash | \n",
1343 | "
\n",
1344 | " \n",
1345 | " 3 | \n",
1346 | " E90 | \n",
1347 | " Asif | \n",
1348 | "
\n",
1349 | " \n",
1350 | "
\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 | " empid | \n",
1387 | " City | \n",
1388 | " State | \n",
1389 | "
\n",
1390 | " \n",
1391 | " \n",
1392 | " \n",
1393 | " 0 | \n",
1394 | " E87 | \n",
1395 | " Mumbai | \n",
1396 | " Maharashtra | \n",
1397 | "
\n",
1398 | " \n",
1399 | " 1 | \n",
1400 | " E22 | \n",
1401 | " Banglore | \n",
1402 | " Karnataka | \n",
1403 | "
\n",
1404 | " \n",
1405 | " 2 | \n",
1406 | " E49 | \n",
1407 | " Pune | \n",
1408 | " Maharashtra | \n",
1409 | "
\n",
1410 | " \n",
1411 | "
\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 | " empid | \n",
1458 | " Name | \n",
1459 | " City | \n",
1460 | " State | \n",
1461 | "
\n",
1462 | " \n",
1463 | " \n",
1464 | " \n",
1465 | " 0 | \n",
1466 | " E87 | \n",
1467 | " Basit | \n",
1468 | " Mumbai | \n",
1469 | " Maharashtra | \n",
1470 | "
\n",
1471 | " \n",
1472 | " 1 | \n",
1473 | " E22 | \n",
1474 | " Minil | \n",
1475 | " Banglore | \n",
1476 | " Karnataka | \n",
1477 | "
\n",
1478 | " \n",
1479 | " 2 | \n",
1480 | " E74 | \n",
1481 | " Akash | \n",
1482 | " NaN | \n",
1483 | " NaN | \n",
1484 | "
\n",
1485 | " \n",
1486 | " 3 | \n",
1487 | " E90 | \n",
1488 | " Asif | \n",
1489 | " NaN | \n",
1490 | " NaN | \n",
1491 | "
\n",
1492 | " \n",
1493 | " 4 | \n",
1494 | " E49 | \n",
1495 | " NaN | \n",
1496 | " Pune | \n",
1497 | " Maharashtra | \n",
1498 | "
\n",
1499 | " \n",
1500 | "
\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 | " empid | \n",
1550 | " salary | \n",
1551 | "
\n",
1552 | " \n",
1553 | " \n",
1554 | " \n",
1555 | " 0 | \n",
1556 | " E87 | \n",
1557 | " $10,000 | \n",
1558 | "
\n",
1559 | " \n",
1560 | " 1 | \n",
1561 | " E22 | \n",
1562 | " $30,000 | \n",
1563 | "
\n",
1564 | " \n",
1565 | " 2 | \n",
1566 | " E74 | \n",
1567 | " $20,000 | \n",
1568 | "
\n",
1569 | " \n",
1570 | " 3 | \n",
1571 | " E90 | \n",
1572 | " $60,000 | \n",
1573 | "
\n",
1574 | " \n",
1575 | " 4 | \n",
1576 | " E49 | \n",
1577 | " $90,000 | \n",
1578 | "
\n",
1579 | " \n",
1580 | "
\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 | " empid | \n",
1631 | " Name | \n",
1632 | " City | \n",
1633 | " State | \n",
1634 | " salary | \n",
1635 | "
\n",
1636 | " \n",
1637 | " \n",
1638 | " \n",
1639 | " 0 | \n",
1640 | " E87 | \n",
1641 | " Basit | \n",
1642 | " Mumbai | \n",
1643 | " Maharashtra | \n",
1644 | " $10,000 | \n",
1645 | "
\n",
1646 | " \n",
1647 | " 1 | \n",
1648 | " E22 | \n",
1649 | " Minil | \n",
1650 | " Banglore | \n",
1651 | " Karnataka | \n",
1652 | " $30,000 | \n",
1653 | "
\n",
1654 | " \n",
1655 | " 2 | \n",
1656 | " E74 | \n",
1657 | " Akash | \n",
1658 | " NaN | \n",
1659 | " NaN | \n",
1660 | " $20,000 | \n",
1661 | "
\n",
1662 | " \n",
1663 | " 3 | \n",
1664 | " E90 | \n",
1665 | " Asif | \n",
1666 | " NaN | \n",
1667 | " NaN | \n",
1668 | " $60,000 | \n",
1669 | "
\n",
1670 | " \n",
1671 | " 4 | \n",
1672 | " E49 | \n",
1673 | " NaN | \n",
1674 | " Pune | \n",
1675 | " Maharashtra | \n",
1676 | " $90,000 | \n",
1677 | "
\n",
1678 | " \n",
1679 | "
\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 | " employee_id | \n",
1729 | " experience | \n",
1730 | "
\n",
1731 | " \n",
1732 | " \n",
1733 | " \n",
1734 | " 0 | \n",
1735 | " E87 | \n",
1736 | " 5 years | \n",
1737 | "
\n",
1738 | " \n",
1739 | " 1 | \n",
1740 | " E22 | \n",
1741 | " 3 years | \n",
1742 | "
\n",
1743 | " \n",
1744 | " 2 | \n",
1745 | " E74 | \n",
1746 | " 7 years | \n",
1747 | "
\n",
1748 | " \n",
1749 | " 3 | \n",
1750 | " E90 | \n",
1751 | " 2 years | \n",
1752 | "
\n",
1753 | " \n",
1754 | " 4 | \n",
1755 | " E49 | \n",
1756 | " 10 years | \n",
1757 | "
\n",
1758 | " \n",
1759 | "
\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 | " empid | \n",
1810 | " Name | \n",
1811 | " City | \n",
1812 | " State | \n",
1813 | " salary | \n",
1814 | " employee_id | \n",
1815 | " experience | \n",
1816 | "
\n",
1817 | " \n",
1818 | " \n",
1819 | " \n",
1820 | " 0 | \n",
1821 | " E87 | \n",
1822 | " Basit | \n",
1823 | " Mumbai | \n",
1824 | " Maharashtra | \n",
1825 | " $10,000 | \n",
1826 | " E87 | \n",
1827 | " 5 years | \n",
1828 | "
\n",
1829 | " \n",
1830 | " 1 | \n",
1831 | " E22 | \n",
1832 | " Minil | \n",
1833 | " Banglore | \n",
1834 | " Karnataka | \n",
1835 | " $30,000 | \n",
1836 | " E22 | \n",
1837 | " 3 years | \n",
1838 | "
\n",
1839 | " \n",
1840 | " 2 | \n",
1841 | " E74 | \n",
1842 | " Akash | \n",
1843 | " NaN | \n",
1844 | " NaN | \n",
1845 | " $20,000 | \n",
1846 | " E74 | \n",
1847 | " 7 years | \n",
1848 | "
\n",
1849 | " \n",
1850 | " 3 | \n",
1851 | " E90 | \n",
1852 | " Asif | \n",
1853 | " NaN | \n",
1854 | " NaN | \n",
1855 | " $60,000 | \n",
1856 | " E90 | \n",
1857 | " 2 years | \n",
1858 | "
\n",
1859 | " \n",
1860 | " 4 | \n",
1861 | " E49 | \n",
1862 | " NaN | \n",
1863 | " Pune | \n",
1864 | " Maharashtra | \n",
1865 | " $90,000 | \n",
1866 | " E49 | \n",
1867 | " 10 years | \n",
1868 | "
\n",
1869 | " \n",
1870 | "
\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 | " empid | \n",
1920 | " Name | \n",
1921 | " City | \n",
1922 | " State | \n",
1923 | " salary | \n",
1924 | " experience | \n",
1925 | "
\n",
1926 | " \n",
1927 | " \n",
1928 | " \n",
1929 | " 0 | \n",
1930 | " E87 | \n",
1931 | " Basit | \n",
1932 | " Mumbai | \n",
1933 | " Maharashtra | \n",
1934 | " $10,000 | \n",
1935 | " 5 years | \n",
1936 | "
\n",
1937 | " \n",
1938 | " 1 | \n",
1939 | " E22 | \n",
1940 | " Minil | \n",
1941 | " Banglore | \n",
1942 | " Karnataka | \n",
1943 | " $30,000 | \n",
1944 | " 3 years | \n",
1945 | "
\n",
1946 | " \n",
1947 | " 2 | \n",
1948 | " E74 | \n",
1949 | " Akash | \n",
1950 | " NaN | \n",
1951 | " NaN | \n",
1952 | " $20,000 | \n",
1953 | " 7 years | \n",
1954 | "
\n",
1955 | " \n",
1956 | " 3 | \n",
1957 | " E90 | \n",
1958 | " Asif | \n",
1959 | " NaN | \n",
1960 | " NaN | \n",
1961 | " $60,000 | \n",
1962 | " 2 years | \n",
1963 | "
\n",
1964 | " \n",
1965 | " 4 | \n",
1966 | " E49 | \n",
1967 | " NaN | \n",
1968 | " Pune | \n",
1969 | " Maharashtra | \n",
1970 | " $90,000 | \n",
1971 | " 10 years | \n",
1972 | "
\n",
1973 | " \n",
1974 | "
\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 | " empid | \n",
2023 | " Name | \n",
2024 | " City | \n",
2025 | " State | \n",
2026 | " salary | \n",
2027 | " experience | \n",
2028 | "
\n",
2029 | " \n",
2030 | " \n",
2031 | " \n",
2032 | " 0 | \n",
2033 | " E87 | \n",
2034 | " Basit | \n",
2035 | " Mumbai | \n",
2036 | " Maharashtra | \n",
2037 | " $10,000 | \n",
2038 | " 5 years | \n",
2039 | "
\n",
2040 | " \n",
2041 | " 1 | \n",
2042 | " E22 | \n",
2043 | " Minil | \n",
2044 | " Banglore | \n",
2045 | " Karnataka | \n",
2046 | " $30,000 | \n",
2047 | " 3 years | \n",
2048 | "
\n",
2049 | " \n",
2050 | " 2 | \n",
2051 | " E74 | \n",
2052 | " Akash | \n",
2053 | " NaN | \n",
2054 | " NaN | \n",
2055 | " $20,000 | \n",
2056 | " 7 years | \n",
2057 | "
\n",
2058 | " \n",
2059 | " 3 | \n",
2060 | " E90 | \n",
2061 | " Asif | \n",
2062 | " NaN | \n",
2063 | " NaN | \n",
2064 | " $60,000 | \n",
2065 | " 2 years | \n",
2066 | "
\n",
2067 | " \n",
2068 | " 4 | \n",
2069 | " E49 | \n",
2070 | " NaN | \n",
2071 | " Pune | \n",
2072 | " Maharashtra | \n",
2073 | " $90,000 | \n",
2074 | " 10 years | \n",
2075 | "
\n",
2076 | " \n",
2077 | "
\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 |
--------------------------------------------------------------------------------