使用不同的时间间隔合并并填充Pandas中的两个数据帧

时间:2014-12-19 14:21:40

标签: python pandas merge

我想在Pandas中合并两个数据帧。它们都有一个我正在合并的日期时间列,但是,每分钟有一行和5分钟(取决于年份),而另一个数据帧每15分钟有一行。如果我进行外连接,我可以合并它们,但只有每15分钟一次的行将包含两个数据帧的数据。我想复制15分钟的数据并用这些数据填充1或5分钟的每一行。因此,从上午12:00开始的数据将填充所有行,包括上午12:14。然后,12:15 AM将被复制并填写到上午12:29等。这有意义吗?我怎么能做到这一点? This question似乎相似,但我不确定如何实现我的确切情况,特别是考虑到我的一个数据帧在不同年份间隔5分钟到1分钟不等。

2 个答案:

答案 0 :(得分:1)

您希望对这两个数据系列进行重新取样,以便它们具有相同的间隔和fillna with method&fffill n#39;

df1 = df1.resample('m').fillna(method = 'ffill')
df2 = df2.resample('m').fillna(method = 'ffill')

答案 1 :(得分:1)

回答希望帮助别人的旧问题。

我遇到了类似的问题但是在带有时间戳的两个数据框旁边,我有一个额外的列,它定义了15~15分钟的数据是否可以匹配在我的1~1min数据中。它就像是来自merge的ON参数的一个键,但由于我有这些额外的数据,我无法直接使用pd.merge。

我发现这个函数直接解决了,包括使用参数的额外信息的一部分。

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge_asof.html

文档上的示例非常简单。