In [1]:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
In [2]:
dframe1 = DataFrame({'key': ['X', 'Z', 'Y', 'Z', 'X', 'X'], 'data_set_1': np.arange(6)})
dframe1
Out[2]:
In [5]:
dframe2 = DataFrame({'key': ['Q', 'Y', 'Z'], 'data_set_2': np.arange(3) + 1})
dframe2
Out[5]:
In [6]:
pd.merge(dframe1, dframe2)
Out[6]:
In [7]:
pd.merge(dframe1, dframe2, on='key')
Out[7]:
In [8]:
pd.merge(dframe1, dframe2, on='key', how='left')
Out[8]:
In [9]:
pd.merge(dframe1, dframe2, on='key', how='right')
Out[9]:
In [10]:
pd.merge(dframe1, dframe2, on='key', how='outer')
Out[10]:
In [11]:
dframe3 = DataFrame({'key': ['X', 'X', 'X', 'Y', 'Z', 'Z'], 'data_set_3': range(6)})
In [12]:
dframe4 = DataFrame({'key': ['Y', 'Y', 'X', 'X', 'Z'], 'data_set_4': range(5)})
In [13]:
pd.merge(dframe3, dframe4)
Out[13]:
In [14]:
df_left = DataFrame({'key1': ['SF', 'SF', 'LA'],
'key2': ['one', 'two', 'three'],
'left_data': [10,20,30]})
In [15]:
df_right = DataFrame({'key1': ['SF', 'SF', 'LA', 'LA'],
'key2': ['one', 'one', 'one', 'three'],
'left_data': [40,50,60,79]})
In [16]:
pd.merge(df_left, df_right, on=['key1', 'key2'], how='outer')
Out[16]:
In [17]:
pd.merge(df_left, df_right, on=['key1'], how='outer')
Out[17]:
In [18]:
pd.merge(df_left, df_right, on=['key1'], how='outer', suffixes=('_lefty', '_righty'))
Out[18]:
In [ ]: