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

相关文章

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用