如何解决如何查找一天中不同时间的车辆进出,也可以找到前一天的顺序进行处理,找到正确的进出时间
必须找到
必须找到前一天车辆交易的延续, 这是从前几天继续跟踪的日常过程
示例
例如有 10 辆车和 50 个位置,标记为(车辆 ID、位置 ID 和时间戳)
每辆车在不同时间进出不同地点。
示例(车辆id1在同一天的不同时间进入位置id 1 - 2 - 3 - 4(可能是车辆可以再次在同一天从1 - 2- 3- 4重复行程。)
>如果车辆根据地理围栏及时进入位置 1,则将记录交易 ID 和时间戳。如果根据 GPS 信号交易 id 在该位置花费 30 分钟进行装载或卸载,则会在相同的 locationID 和 VehicleID 上生成 n 次,但时间戳不同。
如果车辆正在从位置 1 运输到位置 2,则位置 ID 将为空,但将为同一车辆 ID 生成 n 次交易 ID,在位置 ID 中声明为空,直到进入位置 ID 2。
挑战
示例 - 如果我们每天进行流程,当我们计划每天下午 1 点调度程序时,车辆 1 可能在下午 12:30 - 下午 4 点(2021 年 3 月 18 日)之间进行装卸,那么我们将获得记录,直到时间是下午 1 点,然后如果我处理数据以查找进出时间,我将在 12:30 进场,这是正确的,但在下午 1 点退出是错误的,我需要找出第二天下午 4 点的出站时间.如何解决这个问题?
到目前为止,我已使用以下代码对其进行处理,以查找给定时间范围日期的进出时间,但如果我必须每天都这样做并延续上次数据,我将面临挑战。
目前使用的代码
df11= df.sort_values(['EquipmentID','EventTS_EST'],ascending=[True,True]).fillna(10101010).reset_index()
output = []
index2 = 0
for index in df11.index:
if index == 0:
print('start')
else:
if (df11.loc[index,'EquipmentID']==df11.loc[index-1,'EquipmentID']) and (df11.loc[index,'FM_LocID']==df11.loc[index-1,'FM_LocID']):
if (index2==0):
output.append(df11.loc[index-1,['EquipmentID','QCVehiclePositionReportID','EventTS_EST','FM_LocID']].to_list())
index2 += 1
else:
output.append(df11.loc[index-1,'FM_LocID']].to_list())
index2 = 0
output
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)