为了账号安全,请及时绑定邮箱和手机立即绑定

在Python的Pandas日期时间列中添加记录

在Python的Pandas日期时间列中添加记录

慕尼黑5688855 2021-05-02 11:14:57
我有如下数据集:Value       Time         delta time 2     2009-05-27 18:45     0:15:004     2009-05-27 19:00     0:15:001     2009-05-27 19:15     0:15:001     2009-05-27 19:30     0:15:002     2009-05-27 20:45     1:15:00我使用以下代码计算了每一行之间的时间差:df['deltatime']= df['Date'].diff(periods=1)我需要在增量时间超过15分钟的记录之间添加记录。我希望代码的输出像下面这样,添加的记录为0值:Value     Time             delta time 2      2009-05-27 18:45    0:15:004      2009-05-27 19:00    0:15:001      2009-05-27 19:15    0:15:001      2009-05-27 19:30    0:15:000      2009-05-27 19:45    0:15:000      2009-05-27 20:00    0:15:000      2009-05-27 20:15    0:15:000      2009-05-27 20:30    0:15:002      2009-05-27 20:45    0:15:00我想知道是否有人可以帮助我解决这个问题?
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

方法1:as.freq


new_df = df.set_index('Time').asfreq('15min', fill_value=0).reset_index()

new_df['delta time'] = new_df.Time.diff()


>>> new_df

                 Time  Value delta time

0 2009-05-27 18:45:00      2        NaT

1 2009-05-27 19:00:00      4   00:15:00

2 2009-05-27 19:15:00      1   00:15:00

3 2009-05-27 19:30:00      1   00:15:00

4 2009-05-27 19:45:00      0   00:15:00

5 2009-05-27 20:00:00      0   00:15:00

6 2009-05-27 20:15:00      0   00:15:00

7 2009-05-27 20:30:00      0   00:15:00

8 2009-05-27 20:45:00      2   00:15:00

方法2:resample


new_df= (df.resample('15min', on='Time').mean()

         .fillna(0)

         .reset_index()

         .assign(delta_time = lambda x: x.Time.diff()))


>>> new_df

                 Time  Value delta_time

0 2009-05-27 18:45:00    2.0        NaT

1 2009-05-27 19:00:00    4.0   00:15:00

2 2009-05-27 19:15:00    1.0   00:15:00

3 2009-05-27 19:30:00    1.0   00:15:00

4 2009-05-27 19:45:00    0.0   00:15:00

5 2009-05-27 20:00:00    0.0   00:15:00

6 2009-05-27 20:15:00    0.0   00:15:00

7 2009-05-27 20:30:00    0.0   00:15:00

8 2009-05-27 20:45:00    2.0   00:15:00


查看完整回答
反对 回复 2021-05-11
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信