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

未完待续,敬请期待!

相关文章
|
2月前
|
Python
Polars实践(2):阿里天池——淘宝用户购物行为分析
Polars实践(2):阿里天池——淘宝用户购物行为分析
60 0
|
2月前
|
存储 数据采集 数据挖掘
Polars实践(4):阿里天池——淘宝用户购物行为分析
Polars实践(4):阿里天池——淘宝用户购物行为分析
70 0
|
2月前
|
Python
Polars实践(3):阿里天池——淘宝用户购物行为分析
Polars实践(3):阿里天池——淘宝用户购物行为分析
46 0
|
3月前
|
数据采集 数据可视化 搜索推荐
Python爬虫技术从去哪儿网获取旅游数据,对攻略进行可视化分析,提供全面的旅游攻略和个性化的出行建议
本文利用Python爬虫技术从去哪儿网获取旅游数据,通过数据处理和可视化分析,提供了全面的旅游攻略和个性化出行建议,同时探讨了热门目的地、出游方式、时间段以及玩法的偏好,为旅游行业和游客提供了有价值的参考信息。
182 8
|
6月前
|
人工智能
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
【2月更文挑战第15天】阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
617 2
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
|
搜索推荐
142 推荐系统架构(淘宝和京东)
142 推荐系统架构(淘宝和京东)
189 0
|
监控 算法 搜索推荐
推荐算法在商城系统实践
推荐算法在商城系统实践
228 0
|
数据挖掘 API
淘宝商品数据分析怎么操作?从哪些方面下手?
淘宝商品数据分析怎么操作?从哪些方面下手?
|
搜索推荐 算法 前端开发
每日好店——淘宝店铺推荐系统实践
每日好店——淘宝店铺推荐系统实践
828 0
|
安全 测试技术
赛事直播攻略:最新推出「体育比分网站APP竞猜源码解决方案」
随着体育比赛的普及和人们对于赛事直播的需求不断增加,越来越多企业和机构希望搭建自己的赛事平台。为了帮助用户更加高效、便捷地搭建自己的赛事平台,东莞梦幻网络公司推出了一款名为「体育比分网站APP竞猜源码解决方案」的产品,旨在为用户提供节省费用和开发时间的解决方案。本篇文章将为大家介绍如何使用这款产品进行赛事直播,并给出一些实用的攻略。
下一篇
无影云桌面