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对其中的数据进行相关分析。

未完待续,敬请期待!

相关文章
|
5月前
|
机器学习/深度学习 算法 搜索推荐
外卖平台推荐算法的优化与实践
外卖平台推荐算法的优化与实践
|
19天前
|
Python
Polars实践(3):阿里天池——淘宝用户购物行为分析
Polars实践(3):阿里天池——淘宝用户购物行为分析
29 0
|
19天前
|
存储 数据采集 数据挖掘
Polars实践(4):阿里天池——淘宝用户购物行为分析
Polars实践(4):阿里天池——淘宝用户购物行为分析
27 0
|
19天前
|
Python
Polars实践(2):阿里天池——淘宝用户购物行为分析
Polars实践(2):阿里天池——淘宝用户购物行为分析
44 0
|
5月前
|
人工智能
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
【2月更文挑战第15天】阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
578 2
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
|
11月前
|
搜索推荐
142 推荐系统架构(淘宝和京东)
142 推荐系统架构(淘宝和京东)
167 0
|
开发者
《ClickHouse中国开发者和用户沙龙》活动现场及线上直播预约火热进行中!
ClickHouse如何帮助企业实现降本提效?在海量数据场景下ClickHouse如何落地实践?阿里云ClickHouse产品如何更好的上手及应用? 3月25日,我们不见不散!
642 0
《ClickHouse中国开发者和用户沙龙》活动现场及线上直播预约火热进行中!
|
搜索推荐 算法 前端开发
每日好店——淘宝店铺推荐系统实践
每日好店——淘宝店铺推荐系统实践
806 0
|
数据采集 自然语言处理 安全
Q&A特辑 | 电商风控实操全解答
电商风控实操全解答
238 0
Q&A特辑 | 电商风控实操全解答
|
SQL 分布式计算 数据可视化
淘宝大数据分析案例
淘宝大数据分析案例
560 0
淘宝大数据分析案例