使用Python「秒开」100GB+数据( 四 )


使用Python「秒开」100GB+数据

文章插图
 
从数据集中,我们可以看到只有6个有效的条目:
1=信用卡支付
2=现金支付
3=不收费
4=纠纷
5=未知
6=无效行程
因此,我们可以简单地将payment_type列中的条目映射到整数:
使用Python「秒开」100GB+数据

文章插图
 
现在我们可以根据每年的数据进行分组,看看纽约人在支付打车费用方面的习惯是如何改变的:
使用Python「秒开」100GB+数据

文章插图
 

使用Python「秒开」100GB+数据

文章插图
 
我们发现,随着时间的推移,信用卡支付慢慢变得比现金支付更频繁 。在上面的代码块中,一旦我们聚合了数据,小型的Vaex dataframe就可以很容易地转换为Pandas DataFrame,将其传递给Seaborn 。
最后,让我们通过绘制现金支付与信用卡支付之间的比率来查看付款方法是否取决于当天的时间或星期几 。为此,我们将首先创建一个过滤器,它只选择用现金或信用卡支付 。下一步是具有Vaex特色功能的操作:带有选择的聚合 。其他库要求对每个支付方法进行聚合,然后将这些支付方法后来合并为一个支付方法 。另一方面,我们可以通过在聚合函数中提供的参数,一步完成这个操作 。这非常方便,只需要传递一次数据,就可以获得更好的性能 。然后,我们可以用标准的方式绘制出最终的DataFrame:
使用Python「秒开」100GB+数据

文章插图
 

使用Python「秒开」100GB+数据

文章插图
 
从上面的图可以看出,显示的小费百分比可以作为一周的某天或一天的某时段的函数 。从这两个图中表明,用信用卡支付的乘客比用现金支付的乘客更倾向于给小费 。看看分布:
使用Python「秒开」100GB+数据

文章插图
 
乘客多久付一次小费?
使用Python「秒开」100GB+数据

文章插图
 
但是让我们看看_fareamount和_totalamount的分布,这取决于支付方式是刷卡还是现金 。
使用Python「秒开」100GB+数据

文章插图
 

使用Python「秒开」100GB+数据

文章插图
 
有了Vaex,你可以在短短几秒钟内浏览超过10亿行数据,计算各种统计数据、聚合信息,并生成信息图表,而这一切都是在你自己的笔记本电脑上完成的 。而且它是免费和开源的!

【使用Python「秒开」100GB+数据】


推荐阅读