复购分析实战 | Pandas遇到了大难题..(附40000+数据源和代码)(下)

简介: 在电商等消费场景下,复购率是最耳熟能详的指标之一了。上到平台、下到品牌、店铺,各种复盘分析一定绕不开复购率,今天我们就从实战的角度聊聊复购率。 本文是Pandas实战系列的番外篇,是小z特意总结的案例,对于pandas操作是一个很大的考验。

Pandas实战


读取我们的案例源数据:


image.png


时间范围是2020年5月-6月两个月的数据,一共40270条,目标是计算两月期的复购率。


先对客户ID和付款时间做升序排列,方便后续计算:


image.png


复购计算是建立在按客户ID分组的基础之上,下面的重点工作是搞定apply里面的函数。


image.png


首先,用一个空列 lst 来记录客户的复购间隔时间。当客户在时间范围内购买次数大于1时,再对客户的购买时间进行循环遍历,否则返回空列表:


image.png


接着,重点研究购买次数大于1的客户,为了有一个锚定的日期,我们引入变量anchor,当客户第二次购买时间间隔在2天以内,则用第三次购买时间和anchor做计算,依次遍历,直到找到购买时间间隔大于2的消费行为或者循环匹配完客户所有订单信息:


image.png

为了避免索引超出范围,在while循环内部,当 i 等于len(x) - 2时,跳出内部循环,否则index + 1


一旦客户两次购买行为间隔超过2天,则判定为复购行为,并且把复购时间间隔记录在lst列表


image.png


一遍复购间隔计算完之后,进行下次的循环(这里判断index同样是为了避免超出索引),最终得到的是每个客户符合定义的间隔时间列表。


把定义好的函数应用到我们的数据集上,结果如丝般顺滑:


image.png


大功已经告成。计算复购率已然是信手拈来,只需要统计复购次数大于等于1的:


image.png


以2天作为我们的复购时间间隔,最终复购率是17.76%。


apply强大不止于此,我们对count函数略加修改,加入一个变量作为间隔,就可以自定义复购时间间隔,想大于3天就大于3天,想大于7天就大于7天,完全实现复购率的灵活计算。


image.png


整个复购计算到此为止,问题的关键在于count函数,如何把规则用函数复现,以及索引怎样递进,需要花一些时间来思考。

相关文章
|
2月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
61 1
|
23天前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
23天前
|
存储 数据挖掘 API
多快好省地使用pandas分析大型数据集
多快好省地使用pandas分析大型数据集
|
30天前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
31 0
|
2月前
|
数据采集 机器学习/深度学习 数据处理
从基础到卓越:Pandas与NumPy在复杂数据处理中的实战策略
【7月更文挑战第14天】Pandas与NumPy在数据科学中的核心应用:**加载数据(如`read_csv`)、探索(`head()`, `info()`, `describe()`)、数据清洗(`fillna`, `dropna`, `replace`, `apply`)、数值计算(借助NumPy的`ndarray`)、分组聚合(`groupby`与聚合函数)、窗口函数(如`rolling`)和数据筛选排序(布尔索引,`query`,`sort_values`)。通过这些工具,实现从数据预处理到复杂分析的高效处理。
37 0
|
2月前
|
数据采集 机器学习/深度学习 数据处理
数据科学家的秘密武器:Pandas与NumPy高级应用实战指南
【7月更文挑战第14天】Pandas与NumPy在数据科学中扮演关键角色。Pandas的DataFrame和Series提供高效数据处理,如数据清洗、转换,而NumPy则以ndarray为基础进行数值计算和矩阵操作。两者结合,从数据预处理到数值分析,形成强大工具组合。示例展示了填充缺失值、类型转换、矩阵乘法、标准化等操作,体现其在实际项目中的协同效用。掌握这两者,能提升数据科学家的效能和分析深度。**
29 0
|
2月前
|
数据处理 Python
数据科学进阶之路:Pandas与NumPy高级操作详解与实战演练
【7月更文挑战第13天】探索数据科学:Pandas与NumPy提升效率的高级技巧** - Pandas的`query`, `loc`和`groupby`用于复杂筛选和分组聚合,例如筛选2023年销售额超1000的记录并按类别计总销售额。 - NumPy的广播和向量化运算加速大规模数据处理,如快速计算两个大数组的元素级乘积。 - Pandas DataFrame基于NumPy,二者协同加速数据处理,如将DataFrame列转换为NumPy数组进行标准化再回写,避免链式赋值。 掌握这些高级操作,实现数据科学项目的效率飞跃。
44 0
|
3月前
|
数据采集 存储 数据可视化
Pandas高级教程:数据清洗、转换与分析
Pandas是Python的数据分析库,提供Series和DataFrame数据结构及数据分析工具,便于数据清洗、转换和分析。本教程涵盖Pandas在数据清洗(如缺失值、重复值和异常值处理)、转换(数据类型转换和重塑)和分析(如描述性统计、分组聚合和可视化)的应用。通过学习Pandas,用户能更高效地处理和理解数据,为数据分析任务打下基础。
229 3
|
4月前
|
数据采集 SQL 数据处理
Python中的Pandas库:数据处理与分析的利器
Python中的Pandas库:数据处理与分析的利器
74 0