In [1]:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
In [2]:
df_left = DataFrame({'key':['X','Y','Z','X','Y'],
'data':range(5)})
df_left
Out[2]:
In [3]:
df_right = DataFrame({'group_data':[10,20]},index=['X','Y'])
df_right
Out[3]:
In [4]:
pd.merge(df_left,df_right,left_on='key',right_index=True)
Out[4]:
In [11]:
# merging with index hierarchy
df_left_hr = DataFrame({'key1':['SF','SF','SF','LA','LA'],
'key2': [10,20,30,20,30],
'data_set':np.arange(5.)})
df_left_hr
Out[11]:
In [9]:
df_right_hr = DataFrame(np.arange(10).reshape(5,2),
index=[['LA','LA','SF','SF','SF'],[20,10,10,10,20]],
columns=['col_1','col_2'])
df_right_hr
Out[9]:
In [10]:
pd.merge(df_left_hr,df_right_hr,left_on=['key1','key2'],right_index=True)
Out[10]:
In [13]:
# same as using merge
# join() can receive same args as merge
df_left.join(df_right)
Out[13]:
In [ ]: