我有 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]
