必须计算剩余违规时间。 SLA为18小时,包括上午9点至下午6点(其余时间除外)。如果门票开放时间在下午6点至上午9点之间。我必须计算开放时间和SLA开始时间之间的差异。如果它在上午9点至下午6点之间开放,我可以直接增加48小时来获取破坏的总时间。如果一周的某天(星期五和星期六)开放,我会跳过两个工作日。
df['OpenTime'] = pd.to_datetime(df['OpenTime'])
df['TotalTime']= df['OpenTime'] + timedelta(days = 2)
df['TimeLeftToBreach'] = (df['TotalTime'] - pd.datetime.now())
`print(df['TimeLeftToBreach'])
通过这种方式,我能够确定上午9点至下午6点之间是否开放。 像这样扭曲但得到
df['OpenTime'] = pd.to_datetime(df['OpenTime'])
df['hour'] = df['OpenTime'].dt.hour
df = df.set_index(['OpenTime'])
df = df.between_time('21:00', '09:00')# filter from 21 hours to 9
hours
df.loc[df.index.hour <= 9, 'age'] = 9 - df['hour']
df.loc[df.index.hour > 9, 'age'] = 9 + (24 - df['hour'])
ValueError:无法从重复的轴重新索引enter code here
需要计算票证的总时间。如果是在18:00:00到09:00:00之间打开,则为“争议”。由于SLA从上午9点开始需要区别它们。