Python 熊猫中初始和减少输入之间的时间差

Python 熊猫中初始和减少输入之间的时间差,python,pandas,Python,Pandas,我有一个变量“a”的计数器,它随时间(以秒为单位)变化。我想知道,对于每个获得“A”的实例,需要多长时间才能取消。可能是使用多个后续实例取消了初始实例。我所拥有的数据帧如下所示: df = pd.DataFrame(columns = ['time', 'A']) df.time = [1, 2, 3, 4, 5, 6, 7, 8] df.A = [2, 6, 5, -2, -8, -7, 3, 4] df time A 0 1 2 1 2 6 2 3

我有一个变量“a”的计数器,它随时间(以秒为单位)变化。我想知道,对于每个获得“A”的实例,需要多长时间才能取消。可能是使用多个后续实例取消了初始实例。我所拥有的数据帧如下所示:

df = pd.DataFrame(columns = ['time', 'A'])
df.time = [1, 2, 3, 4, 5, 6, 7, 8]
df.A = [2, 6, 5, -2, -8, -7, 3, 4]
df
    time  A 
0   1     2 
1   2     6 
2   3     5 
3   4     -2 
4   5     -8 
5   6     -7 
6   7     3
7   8     4
现在,我想得到的是,初始值A和再次减小时A之间的时间差。例如,对于前2个,取消这2个需要3秒钟。因此,预期结果将是:

    A   time_diff  left_on_later_instance
0   2   3          0
1   6   3          2
2   2   2          0
3   3   3          4
4   -3  1          1
5   -1  2          0
6   -3  end        0
请注意,我希望在A不再减少时截断,我在这里使用了字符串“end”,但这在任何情况下都不是必需的。另外,一个实例可能非常大,以至于它可能需要超过100个其他实例才能完全取消,所以简单地再添加100个列并像这样检查它是行不通的。我不想使用像itterrows()这样的东西,因为那样会花费太多时间

我真的不知道从哪里开始,所以非常感谢任何指点。谢谢大家!