我在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中的多余部分。
我如何在熊猫中这样做?
答案 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"])