2016-03-20 6 views
0

は、私は2つのデータフレームを持っているように、これらのデータフレームのデータフレームとインデックスエントリを重複して、一意のインデックスエントリを持つものとマージできますか?

enter image description here

一つが繰り返され、インデックスを持っており、私はそうではないとした別のデータフレームでそれらに参加したいと思います。例えば

DATAFRAME I =

[ index column1] 
leb  Lebanon 
iso  iso1 
CAN   Canda 

DATAFRAME I2 =私はそれがあるように

DATAFRAME ITOT =

DataFrame I2= 
[ index column1  column2] 
leb  ra   Lebanon 
CAN  ba   Canada 
CAN   gell  canada 

こと、それらをマージしたい

[ index column1] 
leb  ra 
CAN  ba 
CAN   gell 

多対1マージスタータ、 http://www.stata.com/manuals13/dmerge.pdf p.7で見ることができます。

+0

私はパンダのデフォルトのマージは多対1であると信じています。インデックスでマージするだけです。これはあなたが望むものを与えるはずです。 index = ["leb"、 "iso"、 "CAN"]) '' df1 = pd.DataFrame( ""レバノン "、" iso1 "、" Canda "]、columns = [" column1 "]、 ' df2 = pd.DataFrame(["ra"、 "ba"、 "gel1"]、columns = ["column2"]、 index = ["leb"、 "CAN"、 "CAN" ]) '' '' '' pd.merge(df1、df2、right_index = True、left_index = True) '' ' – Ben

答えて

0

このDATAFRAME

df = pd.DataFrame({'Year': [2010,2009,2008], 
         'population_A': ['101597.0', '101416.0', '101342.0'], 
         'Country':['Aruba', 'Aruba', 'Aruba']}) 

    df = df.set_index(['Country']) 
    df 

df1 = pd.DataFrame({'Country':['Aruba','Afghanistan','Africa','Lebanon'], 'iso3c':['ABW','AFG','AFR','LEB']}) 
df1 = df1.set_index(['Country']) 
df1 

我々は国とは異なるインデックスを持つように最初のデータフレームが必要そうするためにあることを、他の非反復データフレームを考える検討するID 0,1と言います、2、...

df.reset_index(level=0, inplace=True) 
df 
df.join(df1, on='Country') 

これは

です0
関連する問題