У меня есть следующий фрейм данных:
Datetime Value
--------------------------------------------
2000-01-01 15:00:00 10
2000-01-01 16:00:00 12
2000-01-01 17:00:00 14
2000-01-01 18:00:00 16
2000-01-02 15:00:00 13
2000-01-02 16:00:00 18
2000-01-02 17:00:00 16
2000-01-02 18:00:00 15
--------------------------------------------
Я хочу получить столбец, в котором я могу получить разницу значений от определенного времени для каждого дня вперед (скажем, 16:00:00), следующим образом:
Datetime Value NewColumn
--------------------------------------------
2000-01-01 15:00:00 10 -
2000-01-01 16:00:00 12 0
2000-01-01 17:00:00 14 2
2000-01-01 18:00:00 16 4
2000-01-02 15:00:00 13 -
2000-01-02 16:00:00 18 0
2000-01-02 17:00:00 16 -2
2000-01-02 18:00:00 15 -3
--------------------------------------------
Я пробовал следующий код, но он показывает ошибку:
df['NewColumn'] = df.groupby('Datetime')['Value'].apply(lambda x: x - df.loc[(df['Datetime'].dt.time == dt.time(hour=16)), 'Value'])
ValueError: Buffer dtype mismatch, expected 'Python object' but got 'long long'
Как мне вместо этого написать свой код?