【发布时间】:2019-09-12 11:32:37
【问题描述】:
我有一个数据帧,df_60,时间粒度为 60 分钟。另一个以 30 分钟为粒度,df_30。我想将值从df_60 的列移动到df_30 的列,并保持值出现的持续时间。
假设我的日期为2011-01-05 00:00:00 0,每小时粒度,它在val 列中的值为1。我如何始终“填写”30 分钟时间范围的值60 分钟数据框中的一列等于 x 吗?
>>>df_60
dt_hr_idx val #here val = 1 for times between 2am and 4am
2011-01-05 00:00:00 0
2011-01-05 01:00:00 0
2011-01-05 02:00:00 1
2011-01-05 03:00:00 1
2011-01-05 04:00:00 0
>>>df_30
dt_hlaf_hr_idx val #df_30 val column is currently blank
2011-01-05 00:00:00 0
2011-01-05 00:30:00 0
2011-01-05 01:00:00 0
2011-01-05 01:30:00 0
2011-01-05 02:00:00 0
2011-01-05 02:30:00 0
2011-01-05 03:00:00 0
2011-01-05 03:30:00 0
2011-01-05 04:00:00 0
#desired df
df_30
dt_hlaf_hr_idx val #val should be 1 for values between 2am and 4am
2011-01-05 00:00:00 0
2011-01-05 00:30:00 0
2011-01-05 01:00:00 0
2011-01-05 01:30:00 0
2011-01-05 02:00:00 1
2011-01-05 02:30:00 1
2011-01-05 03:00:00 1
2011-01-05 03:30:00 1
2011-01-05 04:00:00 0
我可以用循环破解一些东西,但是有没有可用的合理方法?
谢谢。
【问题讨论】:
标签: pandas python-2.7 datetime