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

未完待续,敬请期待!

相关文章
|
机器学习/深度学习 SQL 数据可视化
数据分享|数据探索电商平台用户行为流失可视化分析
数据分享|数据探索电商平台用户行为流失可视化分析
|
机器学习/深度学习 搜索推荐 算法
基于机器学习的用户行为分析与个性化推荐系统
传统的用户行为分析和推荐系统常常受限于规则的刻板和模型的简单,无法准确捕捉用户的个性化需求。本文基于机器学习技术,探讨了一种更加灵活、精准的用户行为分析与个性化推荐系统设计方法,通过深度学习模型结合大数据分析,实现了对用户行为的更细致把握和更个性化的推荐服务。
|
12月前
|
存储 数据采集 数据挖掘
Polars实践(4):阿里天池——淘宝用户购物行为分析
Polars实践(4):阿里天池——淘宝用户购物行为分析
468 0
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
|
9月前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
301 71
|
12月前
|
Python
Polars实践(2):阿里天池——淘宝用户购物行为分析
Polars实践(2):阿里天池——淘宝用户购物行为分析
249 0
|
12月前
|
Python
Polars实践(3):阿里天池——淘宝用户购物行为分析
Polars实践(3):阿里天池——淘宝用户购物行为分析
201 0
|
12月前
|
Rust 数据挖掘 数据处理
Polars库:数据分析的新星,性能与易用性的完美结合
Polars库:数据分析的新星,性能与易用性的完美结合
559 1
|
12月前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
493 1
|
9月前
|
数据采集 监控 数据挖掘
常用电商商品数据API接口(item get)概述,数据分析以及上货
电商商品数据API接口(item get)是电商平台上用于提供商品详细信息的接口。这些接口允许开发者或系统以编程方式获取商品的详细信息,包括但不限于商品的标题、价格、库存、图片、销量、规格参数、用户评价等。这些信息对于电商业务来说至关重要,是商品数据分析、价格监控、上货策略制定等工作的基础。

热门文章

最新文章