合并两个数据帧,一个在右边,一个在左边

时间:2015-11-25 01:42:09

标签: pandas

我在pandas中有一种情况,我试图将两个数据帧组合在一起。

X是我使用pandas.rolling_mean(xdf,window=20)

在日期范围内计算的简单移动平均线

Y是沿相同日期范围计算的数据框,但比X早停止5个项目。

所以,我得到的是:

X = 2008-01-01 Nan
    ... 20x
    2008-01-30 922.848
    etc.
    2009-12-31 921.213

Y = 2008-01-01 1.23
    ...
    2008-01-30 1.231
    ...
    2009-12-26 1.11

我需要的是:

XY = 2008-01-30 922 1.231
     ...
     2009-12-26 911.123 1.11

所以,基本上,我需要对齐数据帧,在结尾处减去X中的多余部分,并在开始时减少Y中的多余部分。

我如何在熊猫中这样做?

1 个答案:

答案 0 :(得分:1)

x似乎应该从2008-01-30开始,之后,您可以简单地内连接两个数据帧:

x=pd.DataFrame({"a":['2008-01-30','2008-02-28'],"value_x":[1,2]})
y=pd.DataFrame({"a":['2008-01-01','2008-01-30'],"value_y":[1,2]})
xy=pd.merge(x,y,how="inner",on=["a"])