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

未完待续,敬请期待!

相关文章
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
5月前
|
Polars实践(2):阿里天池——淘宝用户购物行为分析
Polars实践(2):阿里天池——淘宝用户购物行为分析
121 0
|
5月前
|
Polars实践(3):阿里天池——淘宝用户购物行为分析
Polars实践(3):阿里天池——淘宝用户购物行为分析
109 0
Polars实践(4):阿里天池——淘宝用户购物行为分析
Polars实践(4):阿里天池——淘宝用户购物行为分析
250 0
揭秘淘宝商品信息:Python爬虫技术入门与实战指南
Python爬虫用于获取淘宝商品详情,依赖`requests`和`beautifulsoup4`库。安装这两个库后,定义函数`get_taobao_product_details`,发送GET请求模拟浏览器,解析HTML获取标题和价格。注意选择器需随页面结构更新,遵守爬虫政策,控制请求频率,处理异常,且数据只能用于合法目的。
案例研究:如何通过淘宝天猫商品销量数据分析竞争对手
淘宝天猫的商品销量数据接口主要用于商品数据分析和监控业务,通过这些接口可以获取商品的实时销量、30天销量以及总销量等详细信息。以下是关于这一数据接口的详细介绍:
"利用淘宝API接口实现智能化商品推荐系统技术探究"
随着电商行业的火爆发展,如何有效从海量商品中筛选出用户感兴趣的商品成为了每个电商平台必须面对的难题。而商品的精准推荐技术是解决该难题的重要手段之一。淘宝作为国内电商平台的龙头企业,其提供的API接口为开发者提供了打造智能化商品推荐系统的可能。
300 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等