淘宝用户分析之第一问:我想了解活跃用户的相关数据

喜欢数据分析的世界码鲸鱼又给大家唠嗑唠嗑,在我之前的文章里曾经分享了针对淘宝用户的数据分析情况,不过,本人是新手,未能将数据分析完美地展示给大家,这是我心中的一大遗憾,不过为了能够加强自己的数据分析能力,不定期更新,针对淘宝用户的数据挖掘和分析文章,能够对数据有一个更加深刻地理解。

往期文章:

数据分析之淘宝用户行为分析(2)

数据分析之淘宝用户行为分析(1)

在拿到数据的时候,通常伴随着某种目的,如果是参加竞赛的话,那么你的任务可能是针对用户进行流失预测,根据已有的数据,来预测某一种群体的流失情况如何;或者是拿到近两年的用户交易流水集 ,叫你预测未来一个星期的交易趋势。

不论是哪种情况,都是伴随着问题或者要求,没有目的的分析,虽然也可以完成,但是有可能并未能分析某些特殊情况。

所以,提出问题,是进行挖掘和分析的第一步。

假如老板来了,给你了一个数据集,告诉你,今天想要了解活跃用户的相关情况,将低活跃用户的数据进行删除。

问题来了,该解决问题,这个问题的关建是活跃用户。

首先你要先判断数据集的内容。

工具包导入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore') #忽略warnings
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False #解决matplotlib中文乱码问题
df =pd.read_csv('F:/数据分析/tianchi_mobile_recommend_train_user.csv')
print(df.head(10))
len(df)
df.columns

 打开文件后,数据范围如下:

 

 我的天,1200万多条数据,数据集对于学生来说,是比较庞大的(推荐使用pycharm运行)

如果担心自己习惯用jupyter的人是否可以玩转pycharm,可以推荐使用shift+alt+e键,来实现使用jupyter时的操作手感。

这里进行假定(也有别的分法):
针对数据集中用户出现的次数进行,划分活跃用户。

根据代码已经知道了用户的总数为10000人。 

那么根据出现次数大于1次,10次,100次,1000次的用户进行探究。

print("大于1000的用户数量:",len(df.user_id.value_counts()[df.user_id.value_counts()>1000]))
print("大于1的用户数量:",len(df.user_id.value_counts()[df.user_id.value_counts()>1]))
print("大于100的用户数量:",len(df.user_id.value_counts()[df.user_id.value_counts()>100]))
print("大于10的用户数量:",len(df.user_id.value_counts()[df.user_id.value_counts()>10]))

 

 可以发现的是当用户大于1000次的时候,出现了断层,这时候,我们将出现次数大于1000次的用户定义为活跃用户,接着就是对数据集里挑选出符合条件的用户。

df_group=df.groupby('user_id').count()
print(df_group)
print(df)
print(df_group[df_group.item_id>1000])
df_new_select=df_group[df.user_id.value_counts()>1000]
df_new_select.rename(columns={'item_id':'count'},inplace=True)
df_new_select.reset_index(inplace=True)
# pd.concat([df,df_new_select],axis=1)
df_merge=pd.merge(df_new_select[['user_id','count']],df,on='user_id')

首先先用groupby函数和count函数统计出现次数,随后挑选出大于1000次的数据,对新的数据进行重命名,再对索引重新定义,最后使用merge函数进行合并,就能挑选出自己想要的数据了。

数据减少了约300万条数据。从之前的分析来看,这个数据集包含了3000多名的行为数据,第一个问题得到了解决。


结尾:

我本人水平有限,思考的时候可能有所欠缺。

如果喜欢的话,点赞+关注,我们不见不散。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值