12-用户画像分析

目录

前言

一、读取数据

二、数据清洗

三、数据分析 

1.筛选高潜用户

2.数据合并

四、分析可视化 


前言

用户画像分析是一种通过收集和分析用户的个人信息、行为数据、兴趣偏好等,来描绘和描述用户的特征和特点的技术方法。用户画像可以帮助企业更好地了解自己的目标用户群体,从而更准确地针对用户需求进行产品设计、服务定位、营销推广等工作。

用户画像分析可以从多个维度进行,如以下几个方面:

  1. 人口统计信息:通过用户的年龄、性别、教育程度、职业等基本信息,来了解用户的社会背景和一些基本特征。

  2. 行为特征:通过用户在平台或应用上的行为数据,如浏览记录、购买记录、搜索关键词等,来了解用户的消费习惯、偏好和需求。

  3. 兴趣偏好:通过用户在社交网络的关注、点赞、评论等行为,或在平台上的兴趣标签、兴趣分类等信息,来了解用户的兴趣爱好和爱好的程度。

  4. 社交关系:通过用户在社交网络上的好友关系、互动频率等信息,来了解用户的社交圈子和人际关系。

  5. 地理位置:通过用户的IP地址、GPS定位等信息,来了解用户所在的地理位置,从而进行地域差异化的产品和服务定位。


一、读取数据

按块读取



path = r'C:\Users\B\Desktop\action.csv'
# chunksize 按块读取
data = pd.read_csv(path,chunksize=100000)
chunks = []
for chunk in data:
    chunk  = pd.DataFrame(chunk)
    chunks.append(chunk)
action = pd.concat(chunks)
action = action[['user_id','sku_id','type','time','cate']]
action.head()

二、数据清洗

action.info()

# 空值
action.isnull().sum()

# 重复值
action.drop_duplicates(inplace=True)

# 异常值
action.describe()

# 处理日期字段 
action['time'] = pd.to_datetime(action['time'])
action['user_id'] = action['user_id'].astype('int64')
action.info()

三、数据分析 

1.筛选高潜用户

代码如下(示例):

action['type'].unique()
action['type'].value_counts()

# 筛选出有购买行为的用户数据
action_type4 = action[action['type']==4]
action_type4 

# 商品品类为4的数据
action_type4 = action_type4[action_type4['cate']==4]
action_type4

# 计算每个用户的最后购买时间
ac_lastbuytime = action_type4.groupby(by=['user_id'])['time'].apply(lambda x:x.max())
ac_lastbuytime

# 最早的交互时间

ac_all_buy = pd.merge(ac_lastbuytime,action,on='user_id')
ac_all_buy

df = pd.merge(ac_lastbuytime,ac_firsttime ,on='user_id')
# 修改列名
df.columns = ['buytime','ac_time']
df.head()

df['days'] = (pd.to_datetime(df['buytime']) -pd.to_datetime(df['ac_time'])).dt.days
df

# 获取高潜用户
high_pot = df[df['days']>1]
high_pot

2.数据合并

代码如下(示例):

# user表
user = pd.read_csv(r'C:\Users\B\Desktop\user.csv')
user.head()
user.info()
user.dropna(inplace=True)
user.drop_duplicates(inplace=True)

user_high = pd.merge(user,high_pot,on='user_id')
user_high.head()

user_high.to_csv('./user_high.csv')

四、分析可视化 

1.

from pyecharts.charts import *
import pyecharts.options as opts

# 用户等级
user_lv_count = user_high['user_lv_cd'].value_counts()
# user_lv_count

num = user_lv_count.values.tolist()
lev = user_lv_count.index.tolist()

data_pair1 = [("等级"+str(i),j) for i ,j in zip(lev,num)]
data_pair1 



pie = (
    Pie()
    .add(series_name='占比',data_pair=data_pair1)
    # 标签
    .set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=True,formatter='{b}:{d}%'),
                    title_opts={'text':'高潜用户各等级占比'})
)
pie.render_notebook()
# 结论:等级5最多,占比63%,其次是等级4,占比28.96%.

2. 

# 用户年龄
user_age_count = user_high.groupby('age')['user_id'].count().sort_values(ascending=False)  # 降序排序
user_age_count 

x_data = user_age_count.index.tolist()
y_data = user_age_count.values.tolist()

bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis('柱形图',y_data)
)
bar.render_notebook()

3. 

# 用户性别
gender = user_high.groupby('sex')['user_id'].count().reset_index()
gender


pair = [(i,j) for i ,j in zip(gender['sex'],gender['user_id'])]
pie2 = (
    Pie()
    .add('',pair,radius=['45%','65%'],label_opts=opts.LabelOpts(formatter="{b}:{d}%"))
)
pie2.render_notebook()

 

 


总结

通过对用户的画像分析,企业可以更好地了解用户的需求和特点,从而进行有针对性的产品设计、市场营销和服务提供。同时,用户画像分析也可以帮助企业找到新的市场机会、发现用户潜在需求,并进行产品创新和业务拓展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

william_liu1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值