Если я правильно понимаю, вы можете получить исходную строку в вашем фрейме данных, где diff
находится между 1 и 10 следующим образом:
df.loc[(df['timestamp'].diff() > 1) & (df['timestamp'].diff() < 10)]
Пример:
дано df
:
>>> df
timestamp
0 8
1 4
2 1
3 5
4 3
С этими diff()
значениями:
>>> df.diff()
timestamp
0 NaN
1 -4.0
2 -3.0
3 4.0
4 -2.0
Вы можете извлечь эту строку, где diff
находится в вашем диапазоне:
>>> df.loc[(df['timestamp'].diff() > 1) & (df['timestamp'].diff() < 10)]
timestamp
3 5
Редактировать Как отмечает @Wen, использование diff()
дважды не очень эффективно. Вы также можете создать маску, используя diff()
, и использовать эту маску для извлечения строк по строкам:
msk = df.diff()
df.where((msk > 1) & (msk < 10))