我想找到由一些布林值指示的段的開始和結束時間戳。資料框如下所示:
t
2021-06-19 21:29:38 True
2021-06-19 21:29:48 True
2021-06-19 21:29:58 True
2021-06-19 21:30:08 False
2021-06-19 21:30:18 False
2021-06-19 21:30:28 False
2021-06-19 21:30:38 False
2021-06-19 21:30:48 False
2021-06-19 21:30:58 True
2021-06-19 21:31:08 True
2021-06-19 21:31:18 True
2021-06-19 21:31:28 True
2021-06-19 21:31:38 True
2021-06-19 21:31:48 True
2021-06-19 21:31:58 True
2021-06-19 21:32:08 True
2021-06-19 21:32:18 True
2021-06-19 21:32:28 True
2021-06-19 21:32:38 True
2021-06-19 21:32:48 True
Name: AT, dtype: bool
現在我需要提取兩個片段。第一個是從 21:29:38 到 21:29:58,第二個是從 21:30:58 到 21:32:48。有什么辦法可以做到這一點嗎?我嘗試過濾 True 值,但后來我錯過了我不想包括的時間范圍。
uj5u.com熱心網友回復:
使用cumsum()的否定條件:
for group, data in s[s].groupby((~s).cumsum()):
print(data)
輸出:
t
2021-06-19 21:29:38 True
2021-06-19 21:29:48 True
2021-06-19 21:29:58 True
Name: AT, dtype: bool
t
2021-06-19 21:30:58 True
2021-06-19 21:31:08 True
2021-06-19 21:31:18 True
2021-06-19 21:31:28 True
2021-06-19 21:31:38 True
2021-06-19 21:31:48 True
2021-06-19 21:31:58 True
2021-06-19 21:32:08 True
2021-06-19 21:32:18 True
2021-06-19 21:32:28 True
2021-06-19 21:32:38 True
2021-06-19 21:32:48 True
Name: AT, dtype: bool
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350774.html
