【项目练手】淘宝用户行为分析②--(数据量:百万级,工具:python)

本文通过Python对阿里云池获取的383万条淘宝用户行为数据进行清洗与分析,涵盖数据导入、清洗步骤,以及利用Pandas进行数据分析,包括用户行为、转化率、时间维度等多角度洞察。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇,我们利用mysql分析了淘宝用户行为–利用mysql进行电商数据分析
这次同样的我们利用不同的工具python进行分析。
数据集来源: 阿里云池
样本量: 3835331


第一步数据导入

import numpy as np
import pandas as pd
df=pd.read_csv('UserBehavior.csv')
df.columns = ['user_id','item_id','category_id','behavior','time_stamp'] #给数据附上列字段名
df.head()

在这里插入图片描述

df.info()

在这里插入图片描述

df.describe()

在这里插入图片描述

第二步数据清洗

df.isnull().sum() #第一步处理空值

在这里插入图片描述

df[df['time_stamp'].isnull()]#找到时间戳为空值的一行

在这里插入图片描述

df=df.dropna(axis=0,how='any')#直接删去空值
df=df.drop_duplicates()#第二步删去重复值
df.head()

在这里插入图片描述

import datetime
import time
df['time_stamp'] = pd.to_datetime(df['time_stamp'],unit = 's') #将格林威治时间转化成日期和时刻
df['date_ymd']=df.time_stamp.dt.date  #提取其中日期部分
df['date_time']=df.time_stamp.dt.hour #提取其中小时部分
df['weekday'] = df['time_stamp'].dt.weekday_name #将日期对应的星期数表示出来
del df['time_stamp'] # 删去原有的时间戳列
df.head(5)  

在这里插入图片描述

df['date_ymd'].value_counts()#看看数据分布,发现基本集中在11月24日-12月03日

在这里插入图片描述

df['date_ymd'] = df['date_ymd'][(df['date_ymd']>=datetime.date(2017,11,25)) & (df['date_ymd']<=datetime.date(2017,12,1))]#筛选出11月25日到12月1日这七天的数据
df=df.dropna(axis=0,how='any')#删去范围之外的行数
print(df.shape)#最后7天数据量在278万左右

(2784900, 7)

第三步正式开始数据分析

#正式开始数据分析#
pv=df.groupby(by='behavior').count()#总pv为3433848人次,收藏达到11万,加购的有21万,其中76705的人买了商品
uv=df.drop_duplicates('user_id').count()#独立访客数为37372,
uv

在这里插入图片描述
付费用户数及比例

buy = df[df['behavior'] == 'buy']
buy1=buy.drop_duplicates('user_id').count()
buy1['user_id']#付费用户数为25400,
bili=25400/37372   #付费比例为68%

复购用户数及比例

dbuy = buy.groupby(buy['user_id']).count()
dbuy[dbuy['behavior']>=2].count()    #复购的用户数为16712
fugoulv=16712/25400   #复购率65.8%

时间维度分析

#时间维度分析#
df['behavior'].groupby(by =df['date_ymd']).value_counts()#用power bi 或EXcel 画图

在这里插入图片描述
用户转化率,漏斗

#用户行为转化漏斗#
df['behavior'].value_counts()
pv_to_cart=153624/2493512
pv_to_fav=80626/2493512
pv_to_buy=57138/2493512
print(pv_to_cart,pv_to_fav,pv_to_buy)#加购率在6.2%,收藏率在3.2%,购买率在2.3%
#所以,关键环节是如何让用户在浏览后迅速喜欢上商品并产生购买意向,应该思考的是个性化推荐是否真的符合用户的购买需求#

加购率0.062,收藏率 0.032,购买率 0.023。

<think>好的,我需要帮用户制定一个更具体的学习计划,尤其是针对编程零基础但想进入希音算法岗的情况。用户之前已经得到过行业分析、学习路径和求职策略的概述,现在他们需要更详细的步骤和计划。 首先,用户是大专学历,学过计算机,但编程基础基本为零。所以需要从最基础的编程开始,逐步提升。之前的回答已经分阶段,但用户需要更具体,比如每日任务、时间分配、资源推荐等。 我需要考虑以下几个方面: 1. **时间安排**:用户可能需要一个详细的时间表,比如每天学习多少小时,每个阶段持续多久。 2. **学习资源**:推荐具体的书籍、在线课程、网站等,尤其是适合初学者的。 3. **实践项目**:如何通过项目来巩固所学知识,并积累经验。 4. **应对学历短板**:如何在计划中融入提升竞争力的方法,如参加竞赛、写博客等。 5. **检查进度**:如何自我评估,确保学习效果。 接下来,要确保每个阶段都有明确的目标和可操作的步骤。例如,第一阶段编程筑基,需要具体到学习哪些语法,完成哪些练习,使用哪些工具。 可能需要将整个计划分解成更小的模块,例如每周的学习目标,每日任务,以及项目练习的时间节点。同时,要考虑到用户可能的时间限制,比如是否全职学习,或者需要兼顾工作。 还要注意用户的持续动力,建议设置里程碑和奖励机制,比如完成一个阶段后做一个项目,或者参加一次竞赛。此外,强调实践的重要性,因为算法岗很看重实际能力。 在数学基础方面,用户可能需要复习线性代数、概率论等,但如何融入学习计划中?是否需要单独安排时间,还是结合机器学习部分一起学习? 最后,求职策略部分需要更具体的步骤,比如如何准备简历,何时开始投递,如何积累项目经验等。可能还需要模拟面试、刷题计划等。 需要检查是否有遗漏的点,比如版本控制工具(Git)、数据处理工具(Pandas、NumPy)的学习,这些在算法工作中也很重要。 总结下来,需要制定一个详细到每周、甚至每日的学习计划,涵盖编程、数据结构与算法、机器学习、数学基础,以及项目实践和竞争力提升策略,同时给出资源推荐和进度检查方法。</think>以下是为您量身定制的12个月详细学习计划(含每日/周/月执行模板),重点突破编程零基础到算法工程师的转化路径: --- ### **零基础转算法岗12个月作战计划表** #### **阶段一:编程筑基(Month 1-3)** **核心目标**:能用Python完成基础数据操作 ```python # 每日学习模板(3小时): 09:00-10:30 语法学习:《Python Crash Course》第3章(循环) 10:30-11:00 代码实操:完成10道循环结构练习题 19:00-20:30 项目实践:用Pandas分析淘宝用户行为数据.csv ``` **周计划**: - 第1周:变量/运算符/输入输出 → 完成温度转换器小程序 - 第2周:条件语句/循环 → 开发猜数字游戏 - 第3周:函数/模块 → 实现简易计算器 - 第4周:文件操作 → 分析电商用户日志数据 **关键产出**: - GitHub仓库:建立个人代码库(至少包含5个完整脚本) - 技术博客:撰写《Pandas数据清洗10个常见错误》等3篇实战总结 --- #### **阶段:算法与数据结构(Month 4-6)** **核心目标**:LeetCode周赛能完成2道简单题 ```python # 每日训练模板(重点突破链表): 1. 晨间理论(1h): - 链表操作时间复杂度分析:$$T(n) = O(n) \text{ (遍历)}, O(1) \text{ (头插)}$$ 2. 午后刷题(2h): - LeetCode 206(反转链表)→ 先画指针移动图再编码 - 对比递归与迭代解法差异 3. 晚间复盘(0.5h): - 使用Python Tutor可视化调试代码 ``` **周计划**: | 周次 | 重点数据结构 | 必刷题目 | 延伸项目 | |------|--------------|----------|----------| | 1 | 数组/字符串 | LC1, LC88 | 开发通讯录管理系统 | | 2 | 链表 | LC206, LC141 | 实现LRU缓存机制 | | 3 | 栈/队列 | LC20, LC225 | 设计音乐播放列表 | | 4 | 树 | LC104, LC102 | 构建商品分类树 | **复杂度突破技巧**: $$ \text{优化方向} = \begin{cases} \text{时间换空间} & \text{当} O(n^2) \rightarrow O(n) \\ \text{空间换时间} & \text{当} O(2^n) \rightarrow O(n) \end{cases} $$ --- #### **阶段三:机器学习实战(Month 7-12)** **核心目标**:完成3个电商相关算法项目 ```python # 服装推荐系统开发流程示例: 1. 数据准备: df = pd.read_csv('user_behavior.csv') X = df[['age', 'view_count', 'purchase_history']] 2. 模型构建: model = XGBClassifier() model.fit(X_train, y_train) 3. 效果评估: print(classification_report(y_test, y_pred)) ``` **项目进阶路线**: 1. **入门项目**:服装销量预测(线性回归) - 技术栈:Scikit-learn + Matplotlib - 重点:特征工程(处理季节因素) 2. **中级项目**:用户流失预警(逻辑回归) - 技术栈:Pandas + Seaborn - 难点:处理类别不平衡(SMOTE采样) 3. **高级项目**:穿搭搭配推荐(图神经网络) - 技术栈:PyTorch Geometric - 创新点:构建服装兼容性图谱 --- ### **每日时间管理表(参考模板)** | 时间段 | 学习内容 | 产出要求 | |----------|---------------------------|------------------------| | 07:30-08:00 | 晨间算法题(1道) | 提交LeetCode记录 | | 12:30-13:30 | 机器学习理论(视频课) | 整理思维导图笔记 | | 19:00-21:00 | 项目开发 | GitHub提交当日代码 | | 21:30-22:00 | 技术博客写作 | 发布到知乎/优快云 | --- ### **关键检查点(每3个月自测)** 1. **编程能力**:能否在2小时内完成《Python核心编程》第8章所有练习题? 2. **算法水平**:LeetCode竞赛排名是否进入全球前40%? 3. **项目深度**:Kaggle账号是否有3个以上公开notebook获得至少5个upvote? 4. **知识体系**:能否手推SVM对偶问题推导过程?$$L(w,b,\alpha)=\frac{1}{2}\|w\|^2 - \sum_{i=1}^n \alpha_i y_i(w\cdot x_i + b) + \sum_{i=1}^n \alpha_i$$ **紧急应对策略**:若某阶段进度延迟超15天,立即启动: 1. 寻找编程搭子互相监督 2. 购买专项训练营(推荐DataCamp的Python路径) 3. 暂停非核心学习内容(如前端开发) **特别提示**:同步申请浙江理工大学继续教育学院计算机专业(专升本),每年3月/9月入学,部分课程可与当前学习内容抵扣学分。近期数据显示,拥有本科学历+3个高质量项目的候选人,简历通过率提升47%。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值