У меня есть датафрейм для панды:
second block
0 1 a
1 2 b
2 3 c
3 4 a
4 5 c
Это последовательные данные, и я хотел бы получить новый столбец, который представляет собой разницу во времени между текущим блоком и следующим повторением.
second block freq
0 1 a 3 //(4-1)
1 2 b 0 //(not repeating)
2 3 c 2 //(5-3)
3 4 a 0 //(not repeating)
4 5 c 0 //(not repeating)
Я попытался получить уникальный список блоков. Затем цикл for, который работает как показано ниже.
for i in unique_block:
df['freq'] = df['timestamp'].shift(-1) - df['timestamp']
Я не знаю, как получить 0 для индекса строки 1,3,4, так как датафрейм слишком большой. Это не эффективно. Это не работает.
Спасибо.