Python:合并/合并具有重叠但日期索引不同的数据框

时间:2018-11-07 15:27:30

标签: python pandas dataframe merge

我有一系列数据框,其中包含来自过去二十年来在重叠时间运行的一系列雨量计的降雨数据。例如,第一个工作在2001年至2004年之间,然后第二个工作在2003年至2008年之间,第三个工作在2007年至2015年之间。它们都以日期作为索引,但是我不知道如何合并它们,同时保留所有索引我使用以下我认为可行的方法:

RG1_2 = RG1.merge(RG2, left_index=True, right_index=True)

我曾期望这会产生一个具有2001年和2008年索引的数据框,其中两列包含记录的数据。相反,它从2003年到2008年返回,即第二个数据框的索引...有什么想法吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

我认为您应该尝试outer join,默认合并是使用内部联接,因此看起来只有相关的值才联接您的情况。

RG1_2 = RG1.merge(RG2, left_index=True, right_index=True,how='outer')

答案 1 :(得分:1)

我认为您应该尝试使用外部联接进行合并:

result = pd.merge(RG1, RG2, on='date', how='outer')

,这里是一些示例的链接: pandas merge examples

答案 2 :(得分:0)

代替使用

RG1_2 = RG1.merge(RG2, left_index=True, right_index=True)

尝试以下方法:

RG1_2 = RG1.merge(RG2, on='join_key',how='outer',left_index=True, right_index=True)

这会将索引合并在一起,现在返回2003年到2008年。