最近在跟学数据分析五大项目,在自己实操过程中遇到了一些原代码中没有遇到的问题,现在把解决过程梳理记录下来。
3/5 用户消费行为数据分析——分析用户消费行为1
目的:分析用户第一次消费以及最后一次消费,并绘制折线图直观显示
发现问题原代码:
data.groupby(by = 'id')['date'].min().value_counts().plot()
python
运行
运行结果:
value_counts()之后的结果,是对count值进行了从大到小的排序,对应的时间混乱了,导致最后的绘图很杂乱。要解决这个问题,需要对Series的索引进行排序,对更新之后的Series绘图。
这里再补充一点,首先一开始的想法是把date的时间作为新的一列,重新设index值,即reset_index()函数,但在搜索过程中发现了更简单的函数。
问题解决利用sort_index()函数直接对索引值进行排序,更新first_cost,再绘图。
frist_cost = data.groupby(by = 'id')['date'].min().value_counts()
first_cost.sort_index(inplace = True)
first_cost.plot()
python
运行
结果展示:
数据分析:从图中可以看出,在大概1997年2月10号之前,首次收购的人数一直在增加,后续开始逐步下降。猜测:有可能是公司产品的推广力度减弱或者价格的调整。