在布尔lis上循环

2024-09-30 18:19:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在计算布尔值为真的时间。但我不明白如何编码一个翻转的布尔值必须导致一个动作。你知道吗

see dataframe picture

在图片中,您看到右列中的一些值为真,必须计算第一个真值和最后一个真值之间的时间范围。你知道吗

所以这是2019-02-22 09:20:01和2019-02-22 09:50:03之间的时间

因此答案必须是30分2秒。你知道吗

列表可能比这个长,因此在其他地方开始另一个true值周期。你知道吗

我试验的代码如下:

for i in (df1['InsideArea'][:]):
  if i == 'True' and i != df1['InsideArea'][i-1]:
      start_time = df1['time'][i]
  elif i == 'False' and i != df1['InsideArea'][i-1]:
      end_time = df1['time'][i]
      df1['TimeInArea'] = (start_time - end_time)
  else:
      continue

我不再赘述,因为我不是一个有经验的python用户。 希望有人能帮助我。你知道吗

CSV FILE OF DATAFRAME


Tags: and答案dataframe编码time时间图片start