У меня есть следующие панды DataFrame:
import pandas as pd
df = pd.DataFrame({"datetime": ["30.12.1999 00:59:00", "30.12.1999 23:59:00", "31.12.1999 00:59:00", "31.12.1999 23:59:00"], "b": [4, 15, 26,7]})
df["datetime"] = pd.to_datetime(df.datetime)
df["date"]=df.datetime.dt.date
, который выглядит следующим образом:
datetime b date
0 1999-12-30 00:59:00 4 1999-12-30
1 1999-12-30 23:59:00 15 1999-12-30
2 1999-12-31 00:59:00 26 1999-12-31
3 1999-12-31 23:59:00 7 1999-12-31
В кадре данных в действительности гораздо больше строк, но по-прежнему действует следующий принцип: выесть только две строки за один день.
Я хотел бы получить разницу между двумя значениями для b
.Итак, в приведенном выше примере я хотел бы получить результирующий кадр данных, который выглядит следующим образом:
date b_delta
0 1999-12-30 11
1 1999-12-31 -19
Как мне этого добиться?