使用Python可视化图表分析行程数据

这是学习笔记的第 2381篇文章

04b60d6f6942aea12c86c966306bdd72.gif

  最近一直在想怎么分析一下个人的行程数据,看看能够从行程数据里面分析出点什么来。最开始我的期望还是蛮高的,有如下的一些预期:

  • 根据出行时间范围,可以基本确定他的生活节奏,工作强度

  • 能够通过行程时间范围来猜测汽车尾号

  • 根据出行的耗时历史来建议出行时间

如果能够分析得到这些信息,感觉还是蛮有意思的,于是开始自己动手,第一个问题就是数据源,导航软件目前还不提供行程数据的导出,所以我是把7-8两个月的行程数据逐个照着导航行程整理出来了,大体的数据情况还可以,不过其中有些数据做了额外处理,比如时间的处理,因为是如果是7:15,那么按照数字化显示就不能是7.15,而更合理的显示是7.4,还有行程时间,比如1:30,是需要统一按照分钟90分钟来整合的,整理后得到的数据如下:

40eee51acaa1c8d5a8abbdcf4f5a754c.png

首先我按照时间做了对行程的耗时做了分析,结果发现这个数据似乎不大理想,本来预期是比较稳定的,还打算按照这个数据做下预测。

ffbd31c43011b199df51f60ff8437d56.png

这种情况下就得换一个思路了,先看看数据的整体分布,使用条形图其实是不好体现数据的分布情况,因为有些行程之间是没有直接关联的,比如早上和晚上的行程,因为时间的差异,条形图的模式反而会有很大的抖动。

如下是按照行程的耗时分布图:

0b9f4e06cd5420d51bdfdcd890d53d6d.png

如下是行程出发时间的分布情况,基本上来说都是在6:30~7:00之间开始出发,晚上基本在20:00左右返程。

ca77ca07ff6456e17dac873eb355f45f.png

如下是按照周一到周日的行程耗时分布,可以明显看到周二的行程分布要少很多,还不如周六,周日的多,所以从这一点是可以猜出来很可能是因为限号。

ad3c63e333e15188ab535cfa7e7a8c23.png

当然前面提到了两个指标,一个是行程耗时,一个是出发时间,还有一个是路程,因为路程和耗时两者是有一定关联,但是折算下来一个折中的指标就是平均速度。所以按照平均速度的分布情况来看,周一和周五是最堵的,相对周四和周六是最通畅的。

5be4472a637ab44b904ac18d303d21c5.png

我们区别于一般的可视化,引入箱线图,可以看到平均行程的耗时在45分钟左右,区间基本在30-60分钟之间。

78c27fae864859c9029c770bac8c3b8f.png

其实数据分析到了这里,还是有很大差异的,虽然或多或少的分析出来了一些内容,但是有些指标还是没有充分使用到,而且显示的指标情况还是不够清晰,所以打算使用seaborn进一步做下调整。

如下是行程距离,行程耗时和星期数的综合分布图。

71f38bb128920eda9a8c3ce87daa05c1.png

如下是星期和行程耗时的分布图,相比之前的分布图来说会更加清晰一些。

7fadab1cf3d295a58c7f77a7793dea96.png

我们继续引入平均速度,出发时间和星期数进行关联,可以看到整个行程会有明显的分水岭,早间和晚间基本堵是工作日,而其他的时间基本都是周末。

74ff0f5ad25b080403d8a0c9c2e7454f.png

而要进一步探索这些数据指标间的关联,就需要引入略复杂的图PairGrid,可以把多个指标都放入,可以生成多个维度的分布图。

fe975cc45067c00bddbe141f460ad496.png

接下来需要对数据的指标情况进一步分析,引入检验和预测的功能。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记

  • Github:@jeanron100

  • CSDN:@jeanron100

  • 知乎:@jeanron100

  • 头条号:@杨建荣的学习笔记

  • 网易号:@杨建荣的数据库笔记

  • 大鱼号:@杨建荣的数据库笔记

  • 腾讯云+社区:@杨建荣的学习笔记

原创热文:

维护之夜,说点故事和经验

我们为什么在MySQL中几乎不使用分区表

新年大吉 总结了如下的感想

《大江大河2》最触动我的一段经典对话

MySQL 8.0给开发方向带来的一些困扰

迁移到MySQL的业务架构演进实战

如何优化MySQL千万级大表,我写了6000字的解读

一道经典的MySQL面试题,答案出现三次反转

小白学MySQL要多久?我整理了10多个问题的答案

QQ群号:763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过

在看,让更多人看到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jeanron100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值