有没有办法根据 pandas 数据框中另一列的值获取日期时间范围?

Is there a way to get datetime ranges based on the value of another column in a pandas dataframe?

我确定这个问题描述性不够,但这就是我要找的。我的数据框中有 3 列。两个是日期时间,另一个是包含 1 或 0 的浮点数。它是一个状态列,1 表示打开,0 表示关闭。我需要找出当状态为0和1时我是否能够获得不同的时间范围。

我可以使用 pandas 执行此操作,还是我需要尝试其他方法? Sample data from dataframe

Dataframe 名称是正常运行时间。列从左到右依次为 time_utc、state、local_time。我真的不关心 time_utc,所以你可以忽略它。 这是我在这里的第一个问题,因为我什至不确定如何 google 这个问题。如果需要更多信息,请告诉我,我会尽我所能提供。预先感谢您的任何回复,哈哈。

编辑:

图中的table,可以看到从04:54:27下降到5:01:21,也就是回升的时候,被05:02:16。然后它又下降到 05:09:24,然后又上升到 05:11:50。我只是想写一些可以拉动这些范围的东西,并可能将它们存储在另一个数据框中。

编辑:

我知道我问这个问题很糟糕,但希望 this picture 示例输出会有所帮助。

如果你到了,我不知道列名,所以我只是随机输入一个

selecte_df = df.loc[(df['time_utc'].dt.hour >= 6) & (df['time_local'].dt.hour <= 8) & (df['state'] == 1)] # Get hour range and state

selected_df.to_csv('new.csv', index=False) # Write to new csv

我能够用极其复杂的 IF 语句解决这个问题。