2016-09-13 3 views
-1

Я хотел бы Concat dataframe df1 и df2 и привести к dataframe ДФКак Concat и обновлять панды dataframes

df1 = pd.DataFrame([ 
    {"id": 1, "a": 1, "b": 1}, 
    {"id": 2, "a": 2, "b": 2}, 
]) 

df2 = pd.DataFrame([ 
    {"id": 1, "a": 5, "b": 5}, 
    {"id": 3, "a": 6, "b": 6} 
]) 

df = pd.DataFrame([ 
    {"id": 1, "a": 5, "b": 5}, 
    {"id": 2, "a": 2, "b": 2}, 
    {"id": 3, "a": 6, "b": 6} 
]) 

Как можно видеть, строку же идентификатор обновлены.

+1

http://pandas.pydata.org/pandas-docs/stable /merging.html – kosa

ответ

1
  1. Concatenate
  2. Удалить дублирует

df1 = pd.DataFrame([ 
    {"id": 1, "a": 1, "b": 1}, 
    {"id": 2, "a": 2, "b": 2}, 
]) 

df2 = pd.DataFrame([ 
    {"id": 1, "a": 5, "b": 5}, 
    {"id": 3, "a": 6, "b": 6} 
]) 

print (pd.concat([df1.set_index('id'), 
        df2.set_index('id')]) 
     .reset_index() 
     .drop_duplicates(subset='id', keep='last') 
     .set_index('id') 
     .sort_index()) 

Выход:

a b 
id  
1 5 5 
2 2 2 
3 6 6