A城市巡游车与网约车运营特征对比分析【学习】

2023-12-28 14:48

本文主要是介绍A城市巡游车与网约车运营特征对比分析【学习】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 赛题链接

 

赛题背景

出租车作为城市客运交通系统的重要组成部分,以高效、便捷、灵活等优点深受居民青睐。出租车每天的运营中会产生大量的上下车点位相关信息,对这些数据进行科学合理的关联和挖掘,对比在工作日以及休息日、节假日的出租车数据的空间分布及其动态变化,对出租车候车泊位、管理调度和居民通勤特征的研究具有重要意义。

  • 出租车/网约车:上下车地点挖掘;
  • 出租车/网约车:不同日期的空间变化;
  • 出租车/网约车:泊车和调度问题;

赛题思路

赛题数据

赛题任务

通过赛题理解&数据分析,参赛选手需要回答上述问题:

  • 每年工作日取日平均,非工作日取日平均和节假日取日平均,三种情况下出租车&网约车:
    • 运营时间规律:出车时间和运行时间;
    • 空间分布规律:城市分布规律,订单分布规律;
    • 日均空驶率:空驶里程(没有载客)在车辆总运行里程中所占的比例;
    • 订单平均运距:订单平均距离计算;
    • 订单平均运行时长:订单平时时长计算;
    • 上下客点分布密度:上下车位置分布;
  • 对出租车&网约车的调度、融合发展提出建议:
    • 如何进行订单调度?识别打不到车的位置;
    • 如何进行停车场推荐?
    • 订单差异性分析?

 Task1——数据读取

我们对taxiGps20190531.csv数据分析

import pandas as pd
import numpy as np# 文件目录,相对路径
INPUT_PATH = 'C:/Users/HP/Desktop/doc/'# 文件读取行数
MAX_ROWS = 100000 #拼接两个日期的出租车gps数据
taxigps2019 = pd.concat([pd.read_csv(INPUT_PATH + 'taxiGps20190531.csv', nrows=MAX_ROWS,dtype={'GETON_LONGITUDE':np.float32,'GETON_LANTITUDE':np.float32,'GETOFF_LONGITUDE':np.float32,'GETOFF_LANTITUDE':np.float32,'PASS_MILE':np.float16,'NOPASS_MILE':np.float16,'WAITING_TIME':np.float16}),
pd.read_csv(INPUT_PATH+'taxiGps20200620.csv',nrows=MAX_ROWS,dtype={'GETON_LONGITUDE':np.float32,'GETON_LANTITUDE':np.float32,'GETOFF_LONGITUDE':np.float32,'GETOFF_LANTITUDE':np.float32,'PASS_MILE':np.float16,'NOPASS_MILE':np.float16,'WAITING_TIME':np.float16})
])
taxigps2019.describe()#描述性分析
taxigps2019.info()#基本信息
taxigps2019=taxigps2019[taxigps2019.columns[::-1]]#按列倒序排列
taxigps2019.sort_values(by=['CARNO','GPS_TIME'],inplace=True)#CARNO和GPS_TIME排序
taxigps2019.reset_index(inplace=True,drop=True)#将会将原来的索引index作为新的一列,使用drop参数设置去掉原索引taxigps2019=taxigps2019.rename(columns={'CAR_NO':'CARNO'})
taxigps2019=taxigps2019[taxigps2019.columns[::-1]]
taxigps2019['CARNO'].nunique()#有多少辆出租车
np.clip(taxigps2019['GPS_SPEED'].values,0,150).mean()#出租车平均GPS速度
taxigps2019['OPERATING_STATUS'].value_counts()#出租车运营状态统计
taxigps2019[taxigps2019['DRIVING_DIRECTION']==10]['CARNO'].unique()#某个运行方向的车辆统计
taxigps2019['GPS_TIME']=pd.to_datetime(taxigps2019['GPS_TIME'])#统计记录最多的GPS小时
taxigps2019['GPS_TIME'].dt.hour.value_counts()
  1. 统计巡游车GPS数据在20190603中包含多少俩出租车🚖?
  2. 统计网约车GPS数据在20190603中包含多少俩网约车🚗?
  3. 统计巡游车订单数据在20190603中上车经纬度的最大最小值?
  4. 统计网约车订单数据集在20190603中下车经纬度最常见的位置?
    • 假设经度+维度,各保留三维有效数字组合得到具体位置
    • 小提示:可以将经纬度拼接到一起进行统计
taxigps2019=pd.read_csv(INPUT_PATH+'taxiGps20190603.csv',nrows=MAX_ROWS)
taxiorder2019=pd.read_csv(INPUT_PATH+'taxiOrder20190603.csv',nrows=MAX_ROWS)
wycgps2019=pd.read_csv(INPUT_PATH+'wycGPS20190603.csv',nrows=MAX_ROWS)
wycorder2019=pd.read_csv(INPUT_PATH+'wycOrder20190603.csv',nrows=MAX_ROWS)
#print(taxiorder2019.head())
wycgps2019=wycgps2019.rename(columns={'CAR_NO':'CARNO'})
print('taxigps CARNO:', taxigps2019['CARNO'].nunique())
print('wycgps CARNO:',wycgps2019['CARNO'].nunique())
print('_____________________')
print(taxiorder2019['GETON_LONGITUDE'].max())
print(taxiorder2019['GETON_LATITUDE'].max())
print('_____________________')
print(wycorder2019['DEP_LONGITUDE'].max())
print(wycorder2019['DEP_LATITUDE'].max())
print('_____________________')
LONG=round(wycorder2019['DEST_LONGITUDE'],3)
#print(LONG.head())
LATI=round(wycorder2019['DEP_LATITUDE'],3)
pos=(LONG.map(str)+LATI.map(str))
print(pos.value_counts())taxigps CARNO: 6617
wycgps CARNO: 11558
_____________________
123.72247800000001
29.401106
_____________________
118.35051999999999
24.82657
_____________________
118.05724.587    51
118.19724.497    50
118.07524.585    48

 

这篇关于A城市巡游车与网约车运营特征对比分析【学习】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546318

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory