df:
Time Name X Y
0 00 AA 0 0
1 30 BB 1 1
2 45 CC 2 2
3 60 GG:AB 3 3
4 90 GG:AC 4 4
5 120 AA 5 3
группа данных = df.groupby
([pd.Grouper(key=Time,freq='30s'),'Name'])).sort_values(by=['Timestamp'],ascending=True)
Я попытался выполнить diff() в строке, но он возвращает NaN или что-то не ожидаемое.
df.groupby('Name', sort=False)['X'].diff()
Как сохранить группировку и сортировку по времени, а также сделать разницу между строкой и ее предыдущей строкой (как для столбца X, так и для столбца Y)
Ожидаемый результат: XDiff будет представлять собой группу AA, XDiff, строка 1 = (X row1 - исходная точка (известная)) XDiff, строка 2 = (X row2 - X row1)
Time Name X Y XDiff YDiff
0 00 AA 0 0 0 0
5 120 AA 5 3 5 3
1 30 BB 1 1 0 0
6 55 BB 2 3 1 2
2 45 CC 2 2 0 0
3 60 GG:AB 3 3 0 0
4 90 GG:AC 4 4 0 0
Было бы хорошо видеть общее расстояние для каждой группы (т.е. AA равно 5, BB равно 1) В моем примере у меня есть только пара строк для каждой группы, но что, если бы их было 100, разница была бы дайте мне значения расстояния между любыми двумя, но не общее расстояние для этой группы.