【发布时间】:2020-07-22 15:36:20
【问题描述】:
df1 = pd.DataFrame([(1,5),(2,10),(3,15)],columns=["2009","2008"],index=["C","A","B"])
2009 2008
C 1 5
A 2 10
B 3 15
df2 = pd.DataFrame([(5,7),(11,14),(14,15)],columns=["2008","2007"],index=["D","B","C"])
2008 2007
D 5 7
B 11 14
C 14 15
desired_output =
2009 2008 2007
C 1 5 15
A 2 10 na
B 3 15 14
D na 5 7
我知道组合两个数据帧有四种主要方法:join、merge、append、concat,我已经尝试了多种方法,但似乎无法成功。
df1.merge(df2,how="outer",left_index=True,right_index=True,on="2008")
2009 2008 2007
A 2.0 10 NaN
B 3.0 15 14.0
C 1.0 5 15.0
D NaN 5 7.0
是我能找到的最接近的 - 但列被重新使用。我希望所有相交索引以 df1 的原始顺序排在第一位,然后附加任何非相交索引(理想情况下也按 df2 的顺序)
任何帮助将不胜感激?
【问题讨论】:
-
你能解释一下如何你想要的输出是从源头得到的原因吗?