当前位置: 首页 > article >正文

Pandas07

Pandas01
Pandas02
Pandas03
Pandas04
Pandas05
Pandas06

文章目录

    • 1 用户偏好分析 TGI
      • 1.1 TGI介绍
      • 1.2 TGI案例代码
    • 2 用户评论文本分析
      • 2.1 用户评论文本分析简介

1 用户偏好分析 TGI

1.1 TGI介绍

TGI(Target Group Index,目标群体指数)用于反映目标群体在特定研究范围内强势或者弱势的程度。

我们可以结合TGI公式来理解:

TGI = 目标群体中具有某一特征的群体所占比例/总体中具有相同特征的群体所占比例 × 100

当前案例要解决的问题, 找到合适的5个城市做新产品的首发城市, 产品的特点高利润, 高品质, 低性价比

计算步骤:

① 高客单价 定义 什么算是高客单价

② TGI 高客单价 城市

计算每个城市高客单价用户的占比

计算总体的高客单价用户占比

③ 计算出 每个城市, 高客单价占比的TGI

④ TGI进行排名, 选出排名前5

需要注意的问题: 考虑到数据量(市场规模)

1.2 TGI案例代码

加载数据

import pandas as pd
df=pd.read_excel('C:/Develop/深圳42/data/PreferenceAnalysis.xlsx')
df.head()
#%%
df.info()
#%%
df.describe()
#%%
df['用户ID'].value_counts()

通过查看数据, 发现有的用户消费了多笔, 需要计算平均消费金额,来判断用户是否是高客单价习惯的用户

计算每个人的平均消费金额

users_df = df.groupby('用户ID', as_index=False)['实付金额'].mean()
users_df.columns = ['用户ID','平均支付金额']
#%%
# 根据平均消费金额给用户贴上标签(高客单价, 低客单价)
users_df['客单价类别'] = users_df['平均支付金额'].apply(lambda x:'高客单价' if x>50 else '低客单价')
users_df['客单价类别'].value_counts()
#%%
users_df
#%%
# 把计算好的数据, 跟城市的数据拼接到一起
df_dup = df.drop_duplicates(subset=['用户ID','省份','城市'])
df_dup
#%%
from pandas import DataFrame

df_merge:DataFrame = users_df.merge(df_dup,on='用户ID',how='left')[['用户ID','平均支付金额','客单价类别','省份','城市']]

统计每个城市高客单价, 低客单价的人数

# 透视表 margins参数 会做汇总, 把每一行的数据加到一起放在最右边(多一列), 每一列数据加到一起放到最下面(多一行)
result_df = df_merge.pivot_table(index = ['省份','城市'],columns = '客单价类别',values='用户ID',aggfunc='count',margins=True).reset_index()

计算每个城市高客单价的占比, 计算整体的高客单价占比 计算TGI

result_df['高客单价占比'] = result_df['高客单价']/result_df['All']
#%%
result_df.fillna(0,inplace=True)
#%%
result_df.iloc[result_df.shape[0]-1,result_df.shape[1]-1]
#%%
result_df['总高客单价占比'] = result_df.iloc[result_df.shape[0]-1,result_df.shape[1]-1]
#%%
result_df['TGI'] = result_df['高客单价占比']/result_df['总高客单价占比'] * 100
#%%
result_df.sort_values(by='TGI',ascending=False)

根据TGI排序, 找到TGI比较高的城市, 这里需要过滤掉数据量太少的城市

result_df[result_df['All']>result_df['All'].mean()].sort_values(by='TGI',ascending=False)

2 用户评论文本分析

2.1 用户评论文本分析简介

  • 评论数量随时间波动的情况

  • 评论的内容分析

    • 词频统计 → 绘制词云图
  • 词频统计

    • 英文词频统计 分词(把一句话拆成一个一个单词, 是比较容易的) 难点 词形还原

      • drive driven begin→began
      • nltk
      • 使用nltk做英文文本处理 ①分词 → ②词形还原 → ③ 去停用词(nltk库有现成的停用词表) → ④ 词频统计 → ⑤ 词云图展示
    • 中文词频统计 分词是中文文本处理比较关键的环节

      • jieba ①jieba分词 ②去停用词 → ③ 词频统计 → ④词云图
    • 无论是中文词频统计还是英文的词频统计都要做的步骤 去停用词

      • 对句子的意思影响不大的 连词, 介词, 代词之类的
        • 英文 of the
        • 中文 的 地 得

若有错误与不足请指出,关注DPT一起进步吧!!!


http://www.kler.cn/a/456807.html

相关文章:

  • HarmonyOS开发:关于帧动画使用分享
  • 手机h5加桌面图标
  • Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案
  • 详细讲一下React中的路由React Router
  • 斗鱼Android面试题及参考答案
  • C#编写的金鱼趣味小应用 - 开源研究系列文章
  • 使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
  • 基于三种机器学习方法的磁芯损耗预测模型
  • 使用内网穿透工具,为树莓派配置公网地址实现远程ssh
  • springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置
  • 分别查询 user 表中 avatar 和 nickname 列为空的用户数量
  • C# 6.0版本的WebAPI接口部署到Linux服务器
  • 【学习总结|DAY024】Maven基础
  • Git拉的项目maven无法下载
  • 24-12-28-pytorch深度学习中音频I/O 中遇到的问题汇总
  • 音视频入门基础:MPEG2-TS专题(24)——FFmpeg源码中,显示TS流每个packet的pts、dts的实现
  • python常用基础语法
  • win10系统上打包electron,实现在win7系统运行
  • Detected at node ‘truediv‘ defined at (most recent call last): Node: ‘truediv‘
  • BUU BRUTE 1
  • 剑指Offer|LCR 013. 二维区域和检索 - 矩阵不可变
  • LeetCode题练习与总结:IPO--502
  • linux查看访问外网本机ip地址的命令
  • 微信小程序打印生产环境日志
  • WordPress网站中如何修复504错误
  • 线程池基础知识