DataFrames Merge

In [15]:
import pandas as pd 

Load data

In [20]:
devs = pd.read_csv("datasets/developers/developers.csv", sep=";")
devs
Out[20]:
did dname
0 1 Ivan
1 2 Asen
2 3 Maria
3 4 Stoyan
4 5 Aleks
5 6 Svetlin
In [21]:
langs = pd.read_csv("datasets/developers/languages.csv", sep=";")
langs
Out[21]:
did language
0 2 "C++"
1 3 "Python"
2 3 "R"
3 6 "Java"

Inner Join

In [23]:
dev_langs_inner = pd.merge(devs,langs,on="did",how='inner')
dev_langs_inner
Out[23]:
did dname language
0 2 Asen "C++"
1 3 Maria "Python"
2 3 Maria "R"
3 6 Svetlin "Java"

Outer join

In [24]:
dev_langs_outer = pd.merge(devs,langs,on="did",how='outer')
dev_langs_outer
Out[24]:
did dname language
0 1 Ivan NaN
1 2 Asen "C++"
2 3 Maria "Python"
3 3 Maria "R"
4 4 Stoyan NaN
5 5 Aleks NaN
6 6 Svetlin "Java"

Left outer join

In [25]:
dev_langs_left_outer = pd.merge(devs,langs,on="did",how='left')
dev_langs_left_outer
Out[25]:
did dname language
0 1 Ivan NaN
1 2 Asen "C++"
2 3 Maria "Python"
3 3 Maria "R"
4 4 Stoyan NaN
5 5 Aleks NaN
6 6 Svetlin "Java"

Right outer join

In [26]:
dev_langs_right_outer = pd.merge(devs,langs,on="did",how='right')
dev_langs_right_outer
Out[26]:
did dname language
0 2 Asen "C++"
1 3 Maria "Python"
2 3 Maria "R"
3 6 Svetlin "Java"