这是我从文档中不太确定的事情。
假设我有两个数据框,数据重叠。
DF1 的 DateTimeIndex 开始于 07:00:00,结束于 09:30:00。
DF2 的 DateTimeIndex 开始于 07:00:00,结束于 11:30:00。
DF2 是更新后的 DF1,但与 DF1 相比,可能会在 DF1 的结束时间之前添加一些行。所以 DF2 可能在更新时从 9:20:00-9:30:00 添加了 200 行,然后 09:30:00 之后的所有内容当然也是新的。
如果我使用:
DF1.append(DF2)
我会从 DF2 中获得所有新的行吗?还是熊猫只在 DF1 结束后进入并取行?除此之外,DF2 添加实际上可能与 DF1 行在同一时间,但它会有不同的内容。熊猫也会处理这个吗?
如果熊猫不处理这个问题,我自己最好的方法是什么?
In [489]: df
Out[489]:
Row1 Row3
2013-11-05 08:00:00 2 NaN
2013-11-05 09:00:00 4 NaN
2013-11-05 09:06:00 6 5
In [490]: df2
Out[490]:
Row1 Row3
2013-11-05 08:00:00 2 NaN
2013-11-05 09:00:00 5 NaN
2013-11-05 09:09:00 6 5
In [491]: df.append(df2)
Out[491]:
Row1 Row3
2013-11-05 08:00:00 2 NaN
2013-11-05 09:00:00 4 NaN
2013-11-05 09:06:00 6 5
2013-11-05 08:00:00 2 NaN
2013-11-05 09:00:00 5 NaN
2013-11-05 09:09:00 6 5
在这种情况下,我希望 df.append(df2) 为:
In [491]: df.append(df2)
Out[491]:
Row1 Row3
2013-11-05 08:00:00 2 NaN
2013-11-05 09:00:00 4 NaN
2013-11-05 09:06:00 6 5
<strike>2013-11-05 08:00:00 2 NaN</strike>
2013-11-05 09:00:00 5 NaN
2013-11-05 09:09:00 6 5
编辑2:
我以前是这样做的:
last = df.ix[-1].name
to_append = df2[last:]
new_df = df.append(to_append)
不幸的是,这会删除新的行,但在我之前的 DataFrame 的最后一行的时间戳之前