2017-04-16 48 views
0

我有两个表具有相似的多指标结构:datecountry__name。索引不完全相同:某些国家可能从一个或另一个表中缺失。熊猫 - 如何合并多指数表

表格有不同的列。为了说明,在这里,他们是:

One two

我想将它们合并成保持多指标,但拥有所有来自两个表的列一个表。

但是当我做

pandas.concat([grouped_channel_df, grouped_tds_df], axis=1) 

我得到一个完整的NaN表:

result

我缺少什么?

+0

你试试:'pd.concat([ df1,df2],axis = 1,ignore_index = True)? – Serenity

+0

@Serenity是的,这是发生了什么http://prntscr.com/ex0onh,列名刚刚消失 – kurtgn

+0

然后尝试'pd.merge(df1.reset_index(),df2.reset_index(),how ='outer',on = [ '日期', 'COUNTRY_NAME'])。set_index([ '日期', 'COUNTRY_NAME']))'。 – Serenity

回答

0

如果你想合并表,你需要使用.merge而不是.concat。检查这两个概念here

为您的使用情况之间的差异,尝试这样的事情:

merged = pandas.merge(grouped_channel_df, grouped_tds_df, how='outer', on=('date','country_name'), suffixes=('_channel','_tds')) 

阅读上述文件读取其他选项的