Я хочу добавить новый столбец Datadiff
, который вычисляет разницу в смежных Data
строках для кадра данных df
:
Id Timestamp Data Timediff Datadiff
696 697 2013-08-12 10:35:47.287 30.0 0.510 -1.0
885 886 2013-08-12 10:37:35.850 30.5 -0.203 5.0
886 887 2013-08-12 10:37:36.373 31.5 0.523 1.0
917 918 2013-08-12 10:37:45.137 31.5 -0.510 34.5
1018 1019 2013-08-12 11:17:13.570 25.0 0.000 0.0
1357 1358 2013-08-12 12:42:21.280 25.0 -0.347 28.0
с использованием кода:
df['Timediff']= (df['Timestamp']-df['Timestamp'].shift(1)).dt.total_seconds()
df['Datadiff']= (df['Data']-df['Data'].shift(1))
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
df = df[df['Data']>0]
df.head(500)
Но колонка Datadiff
выглядит странно. Как работает shift (1)? Что не так?