计算当前时间与熊猫下一次失败之间的时差

时间:2018-11-22 08:32:33

标签: python pandas

我有一个数据集,其中有一个列包含是否有故障或是否由0和1表示。我需要创建一个新列,其中包含到下一次熊猫大故障的时间。

Like this

1 个答案:

答案 0 :(得分:1)

cumsum与交换的值一起使用,方法是将[::-1]索引到传递给函数cumcount的组:

df = pd.DataFrame({'failure': [0,0,0,1,0,0,1]})

s = df['failure'].iloc[::-1].cumsum()
df['time to failure'] = s.groupby(s).cumcount()
print (df)
   failure  time to failure
0        0                3
1        0                2
2        0                1
3        1                0
4        0                2
5        0                1
6        1                0