停车统计方案

 小区出入车统计方案


1, 先按日期将数据分组,每天一个组,理解成每天的数据是一个文件, daily_data

2, 对每天的数据建立入车字典和出车字典,以车牌为key,value为长度24的列表,对应每个小时的

最晚入车时间或出车时间。同一车辆不会连续入车两次,也不会连续出车两次,此前必包含完整的进出,

可抵消不计,只记录单位小时的最晚入车或出车。列表内的元素为出/入车时间(字符串)或0(这个小时没有出入记录)。

3,对当天数据统计每个车的最早出车和最晚入车时间, 有则记录时间,无则记录0。

4 ,对当天数据统计每个车的入车次数和出车次数,两者相等或差值为1。入车次数大,则最终状态为进入;

出车次数大,则最终状态为离开;两者相等比较时间,最晚时间为入车,则最终状态为入车,反之为出车。

5,经过以上处理,就一天的数据而言,每个车可得一个分析结果,以字典为数据结构,示例:

{

’car_a‘: {'move_in': ’16:30:20‘ or 0, 'move_out': '08:10:30' or 0, 'status': 'in' or 'out'},

'car_b': {'move_in': ’16:10:20‘ or 0, 'move_out': '09:10:30' or 0, 'status': 'in' or 'out'}

}

6, 相邻两天的数据按车牌比较,若前一天最终状态为出车,跳过比较

def census(former_data, latter_data):
    use_cars = []
    for key in former_data:
        part_a = former_data[key]
        if part['status'] == 'in' and key in latter_data:
            part_b = latter_data[key]
            if part_b['move_out']:
                remain = part_b['move_out'] - part_a['move_in']
                if remain >= 24h:
                    use_cars.append(key)
                    
    ruturn use_cars

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值