首先需要使用pandas库导入数据,并根据时间将数据进行排序。然后,使用apply方法可以轻松地按照时间分类。接下来,我们可以使用shift方法查看前一行的剩余时间是否与当前行相同,如果相同,则将它们打标记,否则不打标记。
代码示例:
import pandas as pd
# 导入数据
data = pd.read_csv('data.csv')
# 按照时间排序
data.sort_values(by='time', inplace=True)
# 按照一天内的剩余时间分组
data['remainder'] = data['time'].apply(lambda x: x % 86400)
data['consecutive'] = data['value'].apply(lambda x: x == data['value'].shift(1))
data['flag'] = data['consecutive'].apply(lambda x: True if x else False)
data['flag'] = data.groupby('remainder')['flag'].apply(lambda x: x.cumsum())
data['flag'] = data['flag'].apply(lambda x: True if x > 0 else False)
# 打印结果
print(data)
这个方法可以可靠地标记出连续值相同的行,并将它们显示为True。