【发布时间】:2020-07-30 06:14:18
【问题描述】:
我对 Pandas 比较陌生,所以如果我的问题没有正确表达,我深表歉意,我在这里有一个数据集,
t HVAC1_S1 HVAC2_S1 ... HVAC4_S1 HVAC5_S1 HVAC6_S1
0 2009-08-18 18:12 711.0 0.0 ... 0.0 0.0 0.0
1 2009-08-18 18:14 705.0 734.0 ... 0.0 725.0 711.0
2 2009-08-18 18:15 0.0 0.0 ... 730.0 0.0 0.0
3 2009-08-18 18:29 0.0 721.0 ... 716.0 718.0 712.0
4 2009-08-18 18:30 705.0 0.0 ... 0.0 0.0 0.0
... ... ... ... ... ... ...
156033 2012-11-09 21:59 714.0 720.0 ... 739.0 0.0 727.0
156034 2012-11-09 22:00 0.0 0.0 ... 0.0 743.0 0.0
156035 2012-11-09 22:14 723.0 729.0 ... 734.0 743.0 732.0
156036 2012-11-09 22:29 718.0 732.0 ... 0.0 739.0 725.0
156037 2012-11-09 22:30 0.0 0.0 ... 739.0 0.0 0.0
因此,如果您注意到时间戳,例如索引“1”,即在 2009 年 8 月 18 日 18 点 14 分,有 5 个读数被读取(其中一个不可见,因为...)。现在实际上总共有 6 个读数,但最后一个读数是在下一分钟,即 2009-08-18 18:15 进行的。好吧,这有点令人困惑,因为这里没有秒数。此外,一次读取所有 6 个读数,然后在 15 分钟后再次测量。现在,在测量一个值时,通常会在下一分钟测量,因此它位于一个新行中。
我想设置 1 分钟的容差并将这些行的值(如索引 2,4、156034、156037)合并到之前的行并从数据框中删除该行
所以例如我想获得我的数据框,
t HVAC1_S1 HVAC2_S1 ... HVAC4_S1 HVAC5_S1 HVAC6_S1
0 2009-08-18 18:12 711.0 0.0 ... 0.0 0.0 0.0
1 2009-08-18 18:14 705.0 734.0 ... 730.0 725.0 711.0
2 2009-08-18 18:29 705.0 721.0 ... 716.0 718.0 712.0
... ... ... ... ... ... ...
156033 2012-11-09 21:59 714.0 720.0 ... 739.0 743.0 727.0
156035 2012-11-09 22:14 723.0 729.0 ... 734.0 743.0 732.0
156036 2012-11-09 22:29 718.0 732.0 ... 739.0 739.0 725.0
注意:索引 0 可以忽略,因为它超出了 1 分钟的容差。
请提供您宝贵的建议。谢谢!
【问题讨论】:
标签: python python-3.x pandas timestamp time-series