如何将6s功耗时间序列数据转换为1小时数据?

时间:2017-12-31 06:33:51

标签: python pandas time-series energy

我有一个如下所示的时间序列数据集:

Dates           Power
09-11-12 23:40  123
09-11-12 23:40  0
09-11-12 23:40  0
09-11-12 23:40  0
09-11-12 23:40  0
09-11-12 23:40  123
09-11-12 23:40  123
09-11-12 23:40  122
09-11-12 23:40  122
09-11-12 23:41  122
09-11-12 23:41  0
09-11-12 23:41  0
09-11-12 23:41  161
09-11-12 23:41  123
09-11-12 23:41  124
09-11-12 23:41  123
09-11-12 23:41  123
09-11-12 23:41  123
09-11-12 23:41  123

在上面的数据集中,设备在每分钟的第6秒消耗功率。我想将数据集转换为1小时时间序列,功率单位= KW / h,即我想将其转换为一小时内消耗的功率,而不是每6秒耗电一次。

我厌倦了在将第6秒的功耗与2.77778e-7相乘后求和它们,但我觉得我做错了。这是正确的方法吗?如果没有,那么正确的方法是什么?

我使用以下代码对它们进行总结。

    data = pd.read_csv(
    r'E:\ukdale\house_1\channel_6.dat',
    delimiter=' ',
    header=None,
    names=['Date', 'Power'],
    dtype={'Date': np.int64, 'Power': np.float64},
    index_col='Date'
    )
    data.index = pd.to_datetime((data.index.values), unit='s')
    ts = pd.Series(data=data['Power'])
    ts.multiply(0.000000277778)
    ts1=ts.resample('h').sum()
    ts1.dropna(inplace=True)

我的结果:

Dates           Power(KW/h)
09-11-12 22:00  310
09-11-12 23:00  64948
10-11-12 0:00   279706
10-11-12 1:00   386517
10-11-12 2:00   0
10-11-12 3:00   125
10-11-12 4:00   0
10-11-12 5:00   0
10-11-12 6:00   0
10-11-12 7:00   0
10-11-12 8:00   95
10-11-12 9:00   582
10-11-12 10:00  594
10-11-12 11:00  585

0 个答案:

没有答案