“合并”具有不同列的数据框

时间:2019-03-15 01:58:28

标签: python pandas dataframe join merge

我需要合并/合并两个具有相同列名但又具有不同列名的数据框。例如:

df1 = {A: hello, B: bye, C:good morning, F: nice}
df2 = {A: hola, D: buenos dias, C: adiós, G: bad}

所以我想要的结果数据帧就像:

  A   |B     |C            |D           |F    |G  
----------------------------------------------------
hello |bye   |good morning |None        |nice |None
hola  |None  |adiós        |buenos dias |None |bad

我一直在尝试使用'merge'pandas'函数合并数据框,如下所示:

res = pandas.merge(df1, df2, on='A')

但是我没有得到想要的结果。 有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,创建您的pd.DataFrame对象

df1 = pd.DataFrame({'A': 'hello', 'B': 'bye', 'C':'good morning', 'F': 'nice'}, index=[0])
df2 = pd.DataFrame({'A': 'hola', "D":' buenos dias', 'C':' adiós', 'G': 'bad'}, index=[0])

然后,只需使用how='outer'

pd.merge(df1, df2, how='outer')

产生

    A       B   C               F       D           G
0   hello   bye good morning    nice    NaN         NaN
1   hola    NaN adiós           NaN     buenos dias bad