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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用不同的时间间隔合并并填充Pandas中的两个数据帧相关的知识,希望对你有一定的参考价值。

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

答案

您想重新采样两个数据集,以便它们具有相同的间隔和fillna方法'ffill'

df1 = df1.resample('m').fillna(method = 'ffill')
df2 = df2.resample('m').fillna(method = 'ffill')
另一答案

回答老问题,希望能帮助别人。

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

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

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

文档上的示例非常简单。

以上是关于使用不同的时间间隔合并并填充Pandas中的两个数据帧的主要内容,如果未能解决你的问题,请参考以下文章

如何在指定的时间间隔使用 shift 填充 pandas 中的缺失值?

合并两个 Pandas 数据帧,在一个时间列上重新采样,插值

合并和填充 Pandas DataFrame

合并 pandas 中列名不同且长度不同的两个数据框

Pandas 将数据框与共享列合并,左右填充

在特定时间间隔内填充时间序列 pandas 数据帧中的空白