Предыдущая почасовая разница построчно - PullRequest
0 голосов
/ 05 ноября 2019

Вот мой df

timestamp       id  value
0 2019-11-04 14:00:10.432783  device1   3000
1 2019-11-04 12:20:03.946156  device1   6000
2 2019-11-04 11:19:03.946156  device1   1000
3 2019-11-04 10:19:03.946156  device1   4000
4 2019-11-04 09:19:03.946156  device2   1000
5 2019-11-04 08:19:03.946156  device2   4000

Вот мой ожидаемый df

Expected 
                 timestamp       id     value       finalvalue
0 2019-11-04 13:00:10.432783  device1     3000         9000
1 2019-11-04 12:20:03.946156  device1     6000         6000
2 2019-11-04 11:19:03.946156  device1     1000         5000
3 2019-11-04 10:19:03.946156  device1     4000         4000
4 2019-11-04 09:19:03.946156  device2     1000         5000
5 2019-11-04 08:19:03.946156  device2     4000         4000

today = dt.datetime.utcnow()
prev_hour = today - timedelta(hours=1)
prev_hour_top_window = prev_hour + timedelta(minutes=1)
prev_hour_bot_window = prev_hour - timedelta(minutes=1)
prev_hour_values = df.loc[(df['timestamp'] >= prev_hour_bot_window) &(df['timestamp'] <= prev_hour_top_window)]
prev_hour_values_mean = prev_hour_values.mean()
df['finalvalue'] = df['value'] - prev_hour_values_mean

Я ожидаю вычесть предыдущее часовое значение только с последней точкой данных, вместо этогоЯ вычитаю среднее значение из всех точек данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...