分析客户行为,进行客户细分
使用 user_logs 数据集,包含用户登录、购买、消费等信息。
客户聚类分析是根据客户的行为特征和属性,将客户划分为不同群体的过程。通过聚类分析,我们可以:
使用 describe() 快速了解数据的统计特征。
# 查看数据描述统计 print(df.describe()) # 单独查看某列 print(df['total_spent'].describe())
手动计算关键统计指标。
# 计算消费统计 total_spent = df['total_spent'].sum() avg_spent = df['total_spent'].mean() max_spent = df['total_spent'].max() min_spent = df['total_spent'].min() print(f'总消费: {total_spent}') print(f'平均消费: {avg_spent:.2f}')
按性别、年龄等维度进行分组分析。
# 按性别分组统计 gender_group = df.groupby('gender').agg({ 'total_spent': ['mean', 'sum'], 'purchases': ['mean', 'sum'], 'logins': 'mean' }) print('按性别分组统计:') print(gender_group)
根据业务规则创建自定义分组。
# 根据消费金额分组 def classify_spender(row): if row['total_spent'] > 3000: return '高消费' elif row['total_spent'] > 1000: return '中等消费' else: return '低消费' df['spender_type'] = df.apply(classify_spender, axis=1) spender_stats = df.groupby('spender_type')['user_id'].count() print(spender_stats)
分析变量之间的线性关系。
# 计算相关性 correlation = df['logins'].corr(df['purchases']) print(f'登录次数与购买次数的相关性: {correlation:.3f}')
根据多个条件筛选目标用户。
# 找出高消费且活跃的用户 avg_spent = df['total_spent'].mean() avg_logins = df['logins'].mean() high_value = df[(df['total_spent'] > avg_spent) & (df['logins'] > avg_logins)] print(f'高价值用户数量: {len(high_value)}') print(high_value[['user_id', 'total_spent', 'logins']])
在下方代码编辑器中编写并运行完整的客户聚类分析代码:
在下方编写并运行完整的客户聚类分析代码: