当前位置: 首页 > news >正文

分析车辆电耗变化情况

导入数据

importpandasaspd df=pd.read_excel(r'D:\jwq\4.9 作业\车辆行驶里程表-2.xlsx')
df_car100=df.query('车辆ID==100').reset_index(drop=True)df_car100
车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度
0100.02020-02-20 16:04:112020-02-20 16:41:2758371288.9380030.59
1100.02020-02-19 15:56:412020-02-19 16:31:1173591570.3130020.87
2100.02020-02-19 11:48:332020-02-19 12:32:5186671168.0780023.02
3100.02020-02-19 10:46:442020-02-19 11:28:1092761058.7660026.07
4100.02020-02-17 16:20:482020-02-17 17:14:2433111478.6090027.99
5100.02020-02-16 16:43:552020-02-16 17:04:5154371076.0000037.26
6100.02020-02-16 13:32:332020-02-16 13:58:076444665.7500028.16
7100.02020-02-10 17:49:092020-02-10 18:11:1978621773.4690035.19
8100.02020-01-09 19:13:232020-01-09 19:40:594938770.9690028.26
9100.02020-01-05 19:47:542020-01-05 20:29:546854765.8440028.57
10100.02019-12-20 16:46:342019-12-20 17:14:1020161644.0470028.26
11100.02019-12-20 15:02:592019-12-20 15:40:1732201272.6410032.17
12100.02019-12-06 15:21:082019-12-06 15:47:1046421151.8750029.96
13100.02019-12-06 14:43:132019-12-06 15:01:435346966.5780038.92
14100.02019-11-13 12:37:452019-11-13 13:00:5362561562.0156328.53
15100.02019-11-07 13:37:072019-11-07 14:11:3393871849.0781326.14
16100.02019-09-17 12:51:052019-09-17 14:12:4997532380.9218862.40

获取 100 号车辆 2020 年前后的两个 DataFrame:df_car100_before2020、df_car100_after2020

time=pd.Timestamp(2020,1,1)print(time)df_car100_before2020=df_car100.query('停止时间<@time').reset_index(drop=True)df_car100_before2020
2020-01-01 00:00:00
车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度
0100.02019-12-20 16:46:342019-12-20 17:14:1020161644.0470028.26
1100.02019-12-20 15:02:592019-12-20 15:40:1732201272.6410032.17
2100.02019-12-06 15:21:082019-12-06 15:47:1046421151.8750029.96
3100.02019-12-06 14:43:132019-12-06 15:01:435346966.5780038.92
4100.02019-11-13 12:37:452019-11-13 13:00:5362561562.0156328.53
5100.02019-11-07 13:37:072019-11-07 14:11:3393871849.0781326.14
6100.02019-09-17 12:51:052019-09-17 14:12:4997532380.9218862.40
df_car100_after2020=df_car100.loc[df_car100['停止时间']>time,:].reset_index(drop=True)df_car100_after2020
车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度
0100.02020-02-20 16:04:112020-02-20 16:41:2758371288.93830.59
1100.02020-02-19 15:56:412020-02-19 16:31:1173591570.31320.87
2100.02020-02-19 11:48:332020-02-19 12:32:5186671168.07823.02
3100.02020-02-19 10:46:442020-02-19 11:28:1092761058.76626.07
4100.02020-02-17 16:20:482020-02-17 17:14:2433111478.60927.99
5100.02020-02-16 16:43:552020-02-16 17:04:5154371076.00037.26
6100.02020-02-16 13:32:332020-02-16 13:58:076444665.75028.16
7100.02020-02-10 17:49:092020-02-10 18:11:1978621773.46935.19
8100.02020-01-09 19:13:232020-01-09 19:40:594938770.96928.26
9100.02020-01-05 19:47:542020-01-05 20:29:546854765.84428.57

电量消耗计算

1.在第 100 号车辆 2020 年前的行车数据【df_car100_before2020】中进行每次行程的电量消耗计算。
2.使用【启动时剩余电量】序列减去【停止时剩余电量】序列来计算单次行程的电量消耗量。
3.使用表格对象中(列)数据新增方法将计算结果保存到新的列【电量消耗】中。
df_car100_before2020['电量消耗']=df_car100_before2020['启动时剩余电量']-df_car100_before2020['停止时剩余电量']df_car100_before2020
车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度电量消耗
0100.02019-12-20 16:46:342019-12-20 17:14:1020161644.0470028.264
1100.02019-12-20 15:02:592019-12-20 15:40:1732201272.6410032.1712
2100.02019-12-06 15:21:082019-12-06 15:47:1046421151.8750029.964
3100.02019-12-06 14:43:132019-12-06 15:01:435346966.5780038.927
4100.02019-11-13 12:37:452019-11-13 13:00:5362561562.0156328.536
5100.02019-11-07 13:37:072019-11-07 14:11:3393871849.0781326.146
6100.02019-09-17 12:51:052019-09-17 14:12:4997532380.9218862.4044

计算车辆每次行程的行驶里程

1.用停止时间 - 启动时间生成时间差列行驶时长delta;
2.用.dt.seconds将时间差转为秒数,生成行驶时长s列;
3.按公式行驶里程(公里) = (行驶时长s/3600) × 平均速度(公里/小时)计算里程,用round取整;
4.将结果存入新列行驶里程。
# 计算行驶时长delta(时间差对象)df_car100_before2020['行驶时长delta']=df_car100_before2020['停止时间']-df_car100_before2020['启动时间']# 将时间差转换为秒数df_car100_before2020['行驶时长s']=df_car100_before2020['行驶时长delta'].dt.seconds# 计算行驶里程(秒转小时 × 平均速度,四舍五入取整)df_car100_before2020['行驶里程']=(df_car100_before2020['行驶时长s']/60/60*df_car100_before2020['平均速度']).round(0)# 查看计算结果df_car100_before2020
车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度电量消耗行驶时长delta行驶时长s行驶里程
0100.02019-12-20 16:46:342019-12-20 17:14:1020161644.0470028.2640 days 00:27:36165613.0
1100.02019-12-20 15:02:592019-12-20 15:40:1732201272.6410032.17120 days 00:37:18223820.0
2100.02019-12-06 15:21:082019-12-06 15:47:1046421151.8750029.9640 days 00:26:02156213.0
3100.02019-12-06 14:43:132019-12-06 15:01:435346966.5780038.9270 days 00:18:30111012.0
4100.02019-11-13 12:37:452019-11-13 13:00:5362561562.0156328.5360 days 00:23:08138811.0
5100.02019-11-07 13:37:072019-11-07 14:11:3393871849.0781326.1460 days 00:34:26206615.0
6100.02019-09-17 12:51:052019-09-17 14:12:4997532380.9218862.40440 days 01:21:44490485.0

计算车辆在2020年之前的单位行驶里程电量消耗

按公式 单位行驶里程电量消耗 = 总电量消耗 ÷ 总行驶里程 计算;
将结果存入变量soc_div_odo_before2020并打印。
# 计算单位行驶里程电量消耗soc_div_odo_before2020=df_car100_before2020['电量消耗'].sum()/df_car100_before2020['行驶里程'].sum()# 打印结果soc_div_odo_before2020
0.4911242603550296

定义函数来计算车辆2020年后单位行驶里程电量消耗

把电量消耗、行驶时长、行驶里程、单位电耗计算,封装成函数get_soc_div_odo(df),参数为车辆行驶数据表,返回单位行驶里程电量消耗。
用函数计算 100 号车 2020 年前数据df_car100_before2020,验证结果与之前一致
用同一函数计算 2020 年后数据df_car100_after2020,对比 2020 年前后单位电耗差异
defget_soc_div_odo(df):""" df: 需要计算【总电量消耗/总行驶里程】的表格 Return: 总电量消耗/总行驶里程 """df['电量消耗']=df['启动时剩余电量']-df['停止时剩余电量']df['行驶时长delta']=df['停止时间']-df['启动时间']df['行驶时长s']=df['行驶时长delta'].dt.seconds df['行驶里程']=(df['行驶时长s']/60/60*df['平均速度']).round(0)returndf['电量消耗'].sum()/df['行驶里程'].sum()# 测试2020年前数据get_soc_div_odo(df_car100_before2020)# 运行结果:0.4911242603550296# 计算2020年后数据get_soc_div_odo(df_car100_after2020)
1.0493827160493827
http://www.jsqmd.com/news/616840/

相关文章:

  • FLUX.1-dev-fp8-dit文生图+SDXL_Prompt风格应用:短视频平台竖版海报AI生成
  • Graphormer模型部署避坑指南:从Ubuntu系统配置到服务上线
  • 2026年第二季度数字地磅靠谱供应商盘点:矿山智能称重系统、矿用地磅、移动地磅、自动计量智能称重系统、车牌识别智能称重系统选择指南 - 优质品牌商家
  • 科哥定制版SenseVoice:简单易用的语音转文字工具部署指南
  • AI模型在.NET 11中卡顿?揭秘JIT预编译、内存池复用与TensorRT桥接的3层加速链,上线即提效217%
  • 宝塔面板网站出现MySQL连接超时丢失怎么解决_合理增大max_allowed_packet和超时等待参数
  • STEP3-VL-10B从零开始:Ubuntu环境部署+Gradio启动+API服务验证全流程
  • 开源大模型实战:StructBERT中文句子相似度工具在舆情监测中的关键词语义泛化应用
  • MedGemma医疗助手:5分钟本地部署,打造你的专属AI医生
  • FastAPI实战:WebSocket vs Socket.IO,这回真给我整明白了!邑
  • 工业水质快检试剂盒怎么选?这家国产品牌值得关注
  • Ollama本地模型管理与Nanbeige 4.1-3B云服务的混合架构实践
  • 春秋云境-CVE-2025-14989
  • 【毕设选题】智能实验室监控系统:ESP32 + 多传感器 + MQTT
  • HunyuanVideo-Foley 系统资源监控与清理:解决C盘空间不足的实战技巧
  • AIGlasses OS Pro 应用案例集:智能眼镜视觉辅助的多种可能
  • Pixel Mind Decoder 创意应用展示:AI 驱动的情感化故事生成器
  • Face Swap API 集成与使用指南
  • 下一代商用计算机(NGCC)技术架构白皮书(能力和工程要求)
  • ESPS USB MSC 调试全过程记录氏
  • Qwen3-ASR-0.6B隐私计算实践:本地ASR+本地大模型摘要,全程不触网的数据闭环
  • 亲测有效!雪女-斗罗大陆-造相Z-Turbo生成角色细节展示:服装、发型、神态都很到位
  • YOLOE镜像新手入门:从零到一,轻松玩转文本/视觉提示检测
  • 「鸿蒙智能体实战记录 09」贺词工作流接入:卡片绑定与快捷指令配置实现
  • 优化开发流程:TensorFlow-v2.9镜像Docker化部署,比PyTorch传统安装更易维护
  • Phi-3-vision-128k-instruct代码生成辅助:将UI设计稿截图转换为前端代码描述
  • AI读脸术与PyTorch方案对比:CPU推理速度谁更强?实战评测
  • JAVA找出哪个类import了不存在的类两
  • 2026年医护专用护士服市场:哪些厂家受青睐?高端的医护专用护士服技术实力与市场口碑领航者 - 品牌推荐师
  • 2026年防水基层板技术解析:外墙岩棉板厂家/外墙抗裂砂浆厂家/外墙挤塑板批发厂家/岩棉板生产厂家联系电话/成都不燃型复合膨胀聚苯乙烯保温板厂家/选择指南 - 优质品牌商家