2015-08-05 2 views
1

У меня есть два фрейма данных, я хотел объединить их в один единый фреймворк на основе соответствующей строки. Мой dataframe выглядит следующим образомСлияние двух фреймов данных на основе столбца индекса

DF_1

 
Set_1 Fax_1 Fax_2 
Abc_1 45 76 
Abc_2 46 77 
Abc_3 47 78 
Abc_4 48 79 
Abc_5 49 80 
Abc_6 50 81 
Abc_7 51 82 
Abc_8 52 83 
Abc_9 53 84 
Abc_10 54 85 

df_2

 
Set_1 Fax_3 Fax_4 
Abc_1 69 42 
Abc_2 70 43 
Abc_3 71 44 
Abc_6 72 45 
Abc_5 73 46 
Abc_6 74 47 
Abc_7 75 48 
Abc_8 76 49 
Abc_9 77 50 
Abc_10 78 51 
Abc_11 55 86 
Abc_12 56 87 
Abc_13 57 88 
Abc_14 58 89 
Abc_15 59 90 
Abc_16 60 91 

Второй является большим dataframe и то, что мне нужно, как и в моем выходном файле, так как,

 
Set_1 Fax_1 Fax_2 Fax_3 Fax_4 
Abc_1 45 76 69 42 
Abc_2 46 77 70 43 
Abc_3 47 78 71 44 
Abc_4 48 79 72 45 
Abc_5 49 80 73 46 
Abc_6 50 81 74 47 
Abc_7 51 82 75 48 
Abc_8 52 83 76 49 
Abc_9 53 84 77 50 
Abc_10 54 85 78 51 

Это то, что я пробовал с объединением,

merged =df.merge(df_annon, on='Set_1') 
merged.head() 

Но это просто дает мне заголовок как выход. Любая помощь или руководство очень ценится .. !!

+0

'pd.merge' принимает два аргумента ключевого слова' left_index = true' и 'right_index = true', это сливается с индексом, это то, что вы хотите, возможно? – firelynx

+0

Спасибо, и это сработало, merged = df.merge (df_annon, how = 'inner', left_index = True, right_index = True, on = 'Set_1) – user1017373

+0

Вы также можете использовать 'join', который в основном совпадает с' merge ', но автоматически использует индекс. – JohnE

ответ

1

Попробуйте

merged = df.merge(df_annon, left_index=True, right_index=True, how='inner') 
4

Наверное, я уже написал ответ в комментарии, но позвольте мне уточнить.

pandas merge function принимает аргументы ключевых слов: left_index= и right_index=. Если установлено значение True, функция слияния будет использовать индексы/индикаторы блока данных для слияния.

Как это:

merged = pd.merge(left=df, left_index=True 
        right=df_annon, right_index=True, 
        how='inner') 
+0

Извините. но с этим решением печатают все столбцы, не содержащие дон-совпадающие. – user1017373

Смежные вопросы