首先,这里是我的数据帧的一部分
Dates Order Value
0 2010-12-07T10:00:00.000000000Z In 70
1 2010-12-07T14:00:00.000000000Z Out 70
2 2010-12-08T06:00:00.000000000Z In 31
3 2010-12-09T02:00:00.000000000Z In 48
4 2010-12-09T10:00:00.000000000Z In 29
5 2010-12-09T10:00:00.000000000Z In 59
6 2010-12-09T10:00:00.000000000Z Out 31
7 2010-12-09T14:00:00.000000000Z Out 29
8 2010-12-09T14:00:00.000000000Z In 32
9 2010-12-10T06:00:00.000000000Z In 1
10 2010-12-10T10:00:00.000000000Z Out 48
在这段代码中,我试图找到几件事情:
的“在”在数据帧中第一次出现。对于这一点,我使用
index_1 = df[df.Order=='In'].first_valid_index()
这将导致0,这是正确的。
然后,我会找到相应的价值与该指数
order_1 = df.at[index_1,'Value']
这将导致70,也是正确的。
找到下一个时间值70次出现在这个数据帧。这是我与挣扎的部分。在该值的价值只能重复一次,它出现在第二时间将始终是一个输出。
任何人都可以帮助我完成这部分代码?
使用idxmax
具有boolean indexing
:
val = df.loc[df['Order'].eq('In').idxmax(), 'Value']
df[df['Value'].eq(val) & df['Order'].eq('Out')]
Dates Order Value
1 2010-12-07T14:00:00.000000000Z Out 70
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句