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

问题描述 投票:4回答:2

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

python pandas merge
2个回答
1
投票

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

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

1
投票

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

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

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

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

文档上的示例非常简单。

© www.soinside.com 2019 - 2024. All rights reserved.