news 2026/5/8 12:39:15

分析车辆电耗变化情况

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
分析车辆电耗变化情况

导入数据

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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 6:54:19

Mac用户专享:M1芯片运行OpenClaw+百川2-13B-4bits优化指南

Mac用户专享&#xff1a;M1芯片运行OpenClaw百川2-13B-4bits优化指南 1. 为什么M1芯片需要特别优化&#xff1f; 去年换用M1 Max笔记本后&#xff0c;我一直在寻找能充分发挥Apple Silicon性能的AI工作流。当尝试将OpenClaw与百川2-13B模型结合时&#xff0c;发现官方默认配置…

作者头像 李华
网站建设 2026/4/10 6:54:18

阿拉尔门头广告服务商选择指南:码客汀广告实测解析及选型技巧

在当今竞争激烈的商业环境中&#xff0c;门头广告作为品牌曝光的核心载体&#xff0c;其视觉呈现与品质直接影响品牌辨识度和到店转化率。对于阿拉尔地区的企业及个体商户而言&#xff0c;选择一家专业的门头广告服务商&#xff0c;不仅能保障广告效果落地&#xff0c;更能实现…

作者头像 李华
网站建设 2026/4/10 6:53:48

Pixel Mind Decoder 创意应用展示:AI 驱动的情感化故事生成器

Pixel Mind Decoder 创意应用展示&#xff1a;AI 驱动的情感化故事生成器 1. 当AI学会感知情绪 你有没有想过&#xff0c;一个故事生成器不仅能理解文字&#xff0c;还能感知情绪&#xff1f;这就是我们最新开发的"情感化故事生成器"的核心能力。通过结合Pixel Min…

作者头像 李华
网站建设 2026/4/10 6:39:39

InternLM2-Chat-1.8B在嵌入式开发中的应用:STM32项目文档自动生成

InternLM2-Chat-1.8B在嵌入式开发中的应用&#xff1a;STM32项目文档自动生成 1. 引言 如果你做过嵌入式开发&#xff0c;尤其是基于STM32的项目&#xff0c;一定对写文档这件事又爱又恨。爱的是&#xff0c;一份清晰的文档能让后续的维护、交接事半功倍&#xff1b;恨的是&a…

作者头像 李华
网站建设 2026/4/10 6:33:18

NLP-StructBERT赋能智能写作助手:查重与素材推荐一体化方案

NLP-StructBERT赋能智能写作助手&#xff1a;查重与素材推荐一体化方案 每次写完稿子&#xff0c;你是不是也有这样的烦恼&#xff1f;一边担心自己是不是无意中“借鉴”了别人的观点&#xff0c;一边又得花大量时间去翻找资料、寻找案例来支撑自己的论点。对于媒体人和学术研…

作者头像 李华