「Python」0.052秒打开100GB数据?这个Python开源库这样做数据分析( 三 )
现在 , 检查一下该passenger_count列 。 单次出租车行程记录的最大乘客数为255 , 这似乎有些夸张 。 计算每次行程的乘客人数 , 使用以下value_counts方法很容易做到这一点:
本文插图
在 10 亿行数据上使用 value_counts 方法只需要 20 秒
从上图可以看出 , 载客超过6人的行程可能是罕见的异常值 , 或者仅仅是错误的数据输入 , 还有大量的0位乘客的行程 。 由于目前我们尚不了解这些行程是否合法 , 因此我们也将其过滤掉 。
本文插图
让我们对行程距离进行类似的练习 。 由于这是一个连续变量 , 因此我们可以绘制行程距离的分布图 。 让我们绘制一个更合理范围的直方图 。
本文插图
纽约出租车数据行程距离直方图
从上图可以看出 , 出行次数随着距离的增加而减少 。 在距离约100英里处 , 分布有明显下降 。 目前 , 我们将以此为起点 , 根据行程距离消除极端离群值:
本文插图
出行距离一列中存在极端异常值 , 这也是研究出行时间和出租车平均速度的动机 。 这些功能在数据集中尚不可用 , 但计算起来很简单:
本文插图
上面的代码块无需内存 , 无需花费时间即可执行!这是因为代码只会创建虚拟列 。 这些列仅包含数学表达式 , 并且仅在需要时才进行评估 。 此外 , 虚拟列的行为与任何其他常规列都相同 。 注意 , 其他标准库将需要10 GB的RAM才能进行相同的操作 。
好了 , 让我们来绘制行程耗费时间的分布:
本文插图
纽约超过 10 亿次出租车行程耗费时间的直方图
从上面的图中可以看出 , 尽管有一些行程可能需要花费4至5个小时 , 但95%的出租车花费不到30分钟即可到达目的地 。 你能想象在纽约市被困出租车中超过3个小时吗?无论如何 , 我们要保持开放的态度 , 并考虑所有花费时间少于3小时的行程:
本文插图
现在 , 让我们研究出租车的平均速度 , 同时选择一个合理的数据范围:
本文插图
出租车平均速度分布
根据分布趋平的位置 , 我们可以推断出在每小时1到60英里之间合理的平均滑行速度 , 因此可以更新筛选后的DataFrame:
本文插图
将重点转移到出租车费用上 。 从describe方法的输出中 , 我们可以看到在fare_amount , total_amount和tip_amount列中有一些疯狂的异常值 。 对于初学者 , 任何这些列中的任何值都不应为负 。 同时数字表明 , 一些幸运的司机仅凭开一次出租车便几乎成为了百万富翁 。 让我们看一下在相对合理的范围内这些数量的分布:
本文插图
纽约超过 10 亿次出租车行程的车费、总额和小费的分布 。 在笔记本上绘制这些图表只用了 31 秒!
推荐阅读
- 「互联网圈里人」你会操作吗?,微信可转账至QQ钱包
- 智能家:荣耀30s怎么打开悬浮球
- 『红途网络孝南』阿衰生日收到了来自妈妈爸爸的特殊礼物, 打开礼物的那一刻阿衰心却碎了,阿衰漫画
- 除了动物森友会,“买光湖北货”才是迎接春天的正确打开方式!
- 科技小数据■Python培训完能够做数据分析类的工作吗?
- 『极速聊科技』淘宝直播如何打造最有价值的直播平台?,打开新经济大门
- 「量子位」淘汰人工审核,自动给arXiv打分,船新论文评审Python程序
- Python@船新论文评审Python程序,淘汰人工审核,自动给arXiv打分
- 『与水产养殖』产业融合发展打开现代渔业新思路
- 威海市民网@威海司机必看!通过左转待行区的正确打开方式
