熊猫:将当前值与数据框中的前一个值相减

时间:2020-05-27 04:31:15

标签: python python-3.x pandas dataframe

我有一个熊猫数据框:

data = pd.DataFrame({'start':[150,1500,1650,1700,1840],'end':[200,1650,1700,1738,1800]})

enter image description here

我正在尝试将当前行的起始值减去前一行的终止值,并一直将相减后的值相加直到结束。

例如

第二循环1500-200

第三循环1650-1650 ..

第五循环1840-1738

总减= 1402

到目前为止,我正在尝试使用df.values

for x,y in enumerate(audio_output.values):
    print(x,y)
    if (y[2]+1)-(y[2]) >0:

我无法访问previos索引以从当前循环中减去。

是否有一种方法可以访问previos索引。我已经尝试过在itertuples()中似乎也无法获得以前的索引。

2 个答案:

答案 0 :(得分:2)

使用以下代码。

sum(data['start'].iloc[1:].values - data['end'].iloc[:-1].values)

答案 1 :(得分:1)

您可以使用 df.shift

In [1906]: (data['start'].shift(-1) - data['end']).sum()
Out[1906]: 1402.0
相关问题