我有一个数据框,其中包含一系列虚拟变量,这些变量指示在另一个事件 (a) 之前发生的事件类型 (e1、e2)。
我需要知道从类型“e1”和“e2”的每个事件到下一个事件“a”的索引值的距离。我尝试使用显示的数据进行演示。
我已经研究了一些解决方案,包括 scipy.spatial 和 interpolate,但我无法真正理解如何使用这些解决方案来解决我的问题。
df = pd.DataFrame({'index': [240, 251, 282, 301, 321, 325, 328, 408], 'a': ['0','0','0','0','1','0','0','1'], 'e1': ['0','1','0','0','0','0','1','0'], 'e2': ['1','0','1','0','0','1','0','0']})
df.set_index('index', inplace=True)
dfTarget = pd.DataFrame({'index': [240, 251, 282, 301, 321, 325, 328, 408], 'a': ['0','0','0','0','1','0','0','1'], 'e1': ['0','70','0','0','0','0','80','0'], 'e2': ['81','0','39','0','0','83','0','0']})
dfTarget.set_index('index', inplace=True)
print(df)
print("------")
print(dfTarget)
a e1 e2
index
240 0 0 1
251 0 1 0
282 0 0 1
301 0 0 0
321 1 0 0
325 0 0 1
328 0 1 0
408 1 0 0
------
a e1 e2
index
240 0 0 81
251 0 70 0
282 0 0 39
301 0 0 0
321 1 0 0
325 0 0 83
328 0 80 0
408 1 0 0