Polars实践(1):阿里天池——淘宝用户购物行为分析

简介: Polars实践(1):阿里天池——淘宝用户购物行为分析

各位读者,从本期开始,我将使用Polars对阿里天池中淘宝用户购物行为进行数据实践分析,希望能对大家学习Polars数据分析有所帮助。

一、数据集的选择与下载

具体链接为:淘宝用户购物行为数据集_数据集-阿里云天池 (aliyun.com)。从这里面下载UserBehavior.csv.zip这个文件,大概905.8M,解压后:

b495ab6aee87035ef465264aa1ea7e4d.png

3.76G ,horrible的数据集。该数据集的具体信息为:UserBehavior.csv

本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。即数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

列名称 说明
用户ID 整数类型,序列化后的用户ID
商品ID 整数类型,序列化后的商品ID
商品类目ID 整数类型,序列化后的商品所属类目ID
行为类型 字符串,枚举类型,包括('pv', 'buy', 'cart', 'fav')
时间戳 行为发生的时间戳

注意到,用户行为类型共有四种,它们分别是:

行为类型 说明
pv 商品详情页pv,等价于点击
buy 商品购买
cart 将商品加入购物车
fav 收藏商品


二、数据导入与初步分析

1. 数据导入

import polars as pl
path='UserBehavior.csv'
df=pl.read_csv(path)
df

这个导入有点暴力了,直接急性API了,如果想用Lazy模式,可以使用以下语句:

import polars as pl
path='UserBehavior.csv'
df=pl.scan_csv(path,with_column_names=lambda _:['用户ID','商品ID','商品类目ID','行为类型','时间戳'],)
df.collect()

导入的数据如下:

dd4e0b6e90147f3050dccb61519ed077.png

重新命名一下:

df1=df.rename({'1': '用户ID','2268318':'商品ID','2520377':'商品类目ID', 'pv':'行为类型', '1511544070':'时间戳'})df1

add28530f0a05ef6a6d8361b6f5b84ab.png

2. 数据集的各列维度

#用户数量IDnum=len(df1.select(pl.col('用户ID').unique()))print(IDnum)#商品数量Mnum=len(df1.select(pl.col('商品ID').unique()))print(Mnum)#商品类目数量MInum=len(df1.select(pl.col('商品类目ID').unique()))print(MInum)

运行结果为:用户数量:987994;商品数量:4162024;商品类目数量:9439,与数据集中一致。

add28530f0a05ef6a6d8361b6f5b84ab.png

3. 时间戳的转换

我们使用datatime对时间戳这一列进行转换。Polars中时间戳与datatime之间的转换详见一文读懂Polars中的时间处理:从字符串到时间戳的转换秘籍!

import datetime#时间戳那一栏乘以1000,df1 = df1.with_columns(pl.col("时间戳")*1000000)#将时间戳转换为Datetime类型df1 = df1.with_columns(    pl.col("时间戳").cast(pl.Datetime(time_zone="Asia/Shanghai")))df1

运行结果为:

4ed33f8549e742422b5239d84bd547c6.png

时间戳这一列变正常了(本数据集包含了2017年11月25日至2017年12月3日之间),完美符合,下面我们把日期和小时数提取出来。

df1=df1.with_columns(pl.col("时间戳").dt.date().alias("日期"),                     pl.col('时间戳').dt.hour().alias('小时'))df1

5ef00945b1ea11cb98ced66d8d4d814e.png

好了,这下整个数据集变的更顺眼、醒目了,想保存一下的话可以试试保存保存:

df1.write_csv('111.csv')

3986451a845c71c086c6d96256c600e8.png

7.16GB啊,呵呵呵!

三、小结

本期,我们用Polars对阿里——淘宝用户购物行为数据集进行了初步导入及简单分析,验证了Polars确实对于大数据集的处理具有独特的优势,后面,我们将用Polars对其中的数据进行相关分析。

未完待续,敬请期待!

相关文章
|
7月前
|
小程序 搜索推荐
如何提升私域用户活跃度?支付宝产品经理送上“三件套”
如何提升私域用户活跃度?支付宝产品经理送上“三件套”
105 0
|
3月前
|
Python
Polars实践(2):阿里天池——淘宝用户购物行为分析
Polars实践(2):阿里天池——淘宝用户购物行为分析
71 0
|
3月前
|
Python
Polars实践(3):阿里天池——淘宝用户购物行为分析
Polars实践(3):阿里天池——淘宝用户购物行为分析
79 0
|
3月前
|
存储 数据采集 数据挖掘
Polars实践(4):阿里天池——淘宝用户购物行为分析
Polars实践(4):阿里天池——淘宝用户购物行为分析
160 0
|
SQL 分布式计算 数据可视化
淘宝大数据分析案例
淘宝大数据分析案例
609 0
淘宝大数据分析案例
|
XML 数据采集 Web App开发
学习XPath助力爬取中秋各大电商平台数据
学习XPath助力爬取中秋各大电商平台数据
126 0
学习XPath助力爬取中秋各大电商平台数据
|
机器学习/深度学习 人工智能 自然语言处理
淘宝千人千面背后的秘密:搜索推荐广告三位一体的在线服务体系AI·OS
揭晓三位一体的在线服务体系AI·OS,及其技术架构演进,技术概况,云原生产品与实践。
淘宝千人千面背后的秘密:搜索推荐广告三位一体的在线服务体系AI·OS
|
存储 小程序 JavaScript
淘宝小程序还可以这么玩!私域互动实践总结
小程序创意互动项目,作为淘宝购物小程序全面提升消费体验和满足商家个性化运营的重点项目之一,从 2020 年 3 月底正式 KO 到今年双11,已经经历了多次迭代。在购物小程序技术、产品、运营团队同学的通力合作和共同努力下,初步实现了容器渲染层的替换、游戏引擎的谈判接入、多个引擎 IDE 的联动打通。小程序创意互动服务的旗舰店品牌 Zone、行业 3D 展示等业务也已有序铺开,项目本身的价值和意义开始逐渐展现。本文从一个较为全面的视角对淘宝小程序创意互动项目进行梳理和阶段性小结,介绍相关原理、能力、应用、现状与未来。
淘宝小程序还可以这么玩!私域互动实践总结
|
新零售 搜索推荐 算法
【云栖号案例 | 新零售】百货商场过时了?新光天地上云 打造未来购物体验
随着网购的崛起,新光天地通过数字引流、分流,提供个性化体验、刷脸支付,一键成会员,建立顾客标签、设计客流动线,提高商场整体收益。
【云栖号案例 | 新零售】百货商场过时了?新光天地上云 打造未来购物体验
|
分布式计算 搜索推荐 大数据
【智能推荐系列公开课讲义④】7天搭建电商个性化推荐场景和最佳实践
阿里巴巴搜索推荐产品团队带来系列公开课,聊聊怎样结合实际场景,嵌入智能推荐,搭建“千人千面”的分发体系,使产品价值最大化。每期20分钟,10课时,修炼推荐硬功夫。
2211 0
【智能推荐系列公开课讲义④】7天搭建电商个性化推荐场景和最佳实践
下一篇
DataWorks