我修改了一个 Dataframe ,使其仅包含超过特定值的行。现在,在此新 Dataframe 中,我希望进一步修改它,使其仅包含连续的行。例如,如果此 Dataframe 具有索引,然后是时间戳和值标头:
Timestamp Value
316 2022-03-01T16:28:50.4580078Z 36.000
344 2022-03-01T17:26:25.8170166Z 37.500
345 2022-03-01T17:26:45.8480072Z 41.000
346 2022-03-01T17:27:05.8800048Z 35.250
374 2022-03-01T18:23:10.9630126Z 36.000
387 2022-03-01T18:36:12.1380004Z 42.000
388 2022-03-01T18:36:32.1690063Z 37.000
391 2022-03-01T18:37:52.2950134Z 34.500
这应该返回一个只有344、345、346、387和388的新 Dataframe ,因为只有这些行在索引中有连续的相邻行
Timestamp Value
344 2022-03-01T17:26:25.8170166Z 37.500
345 2022-03-01T17:26:45.8480072Z 41.000
346 2022-03-01T17:27:05.8800048Z 35.250
387 2022-03-01T18:36:12.1380004Z 42.000
388 2022-03-01T18:36:32.1690063Z 37.000
我尝试过使用df.iloc[i]
和df.iloc[i-1]
迭代并追加到一个新列表,但似乎仍然无法使其正常工作。
1条答案
按热度按时间osh3o9ms1#
基于时间
您可以计算连续的时间差,并将它们与阈值(此处为1分钟)进行比较。保留掩码为True的行(或下面的行):
基于索引
逻辑相同,但检查索引中连续的1差。
输出:
中间体: