Skip to main content
 首页 » 编程设计

python之基于日期时间索引 Pandas 每 12 小时合并数据框和填充列

2025年05月04日22tuyile006

我有 2 个数据框:

“df”有一个日期时间索引:

对于相同的日期和第一个数据帧,“df2”每十二小时有一列:

我试图保留 12 小时列,并在每 12 小时之间填充合并的数据框值。

对于整日,可以通过创建基于索引的天数列来合并:

df2['day'] = df.index.date 

然后合并两者:

df3 = pd.merge(df2, df, 
         on = ['day','short_id'], 
         how = 'inner') 

但是,我找不到每 12 小时创建一个列并在其间填充数据的解决方法,因为这只适用于几天,而不是半天

df2['day'] = df.index.date 

请您参考如下方法:

您还可以轻松地将日期时间列四舍五入到合理的频率,在本例中为每 12 小时一次。

import pandas as pd 
test = pd.DataFrame({'time': ['2017-07-28 20:17:56','2017-07-28 10:17:56', '2017-07-28 00:17:56']}) 
test['time'] = pd.to_datetime(test.time) 
 
test.time.dt.round('12h') 
 
0   2017-07-29 00:00:00 
1   2017-07-28 12:00:00 
2   2017-07-28 00:00:00 
Name: time, dtype: datetime64[ns]