Product_Category_2 和 Product_Category_3 两个字段存在缺失值。着重分析第一分类,故暂时不做处理。

# 查看岗位编码的数据有哪几种
df_raw['Occupation'].unique()

职业应该是文本类型,所以对上面查询到岗位编码,修改数据
如果有对应的岗位对照表,就可以直接取,本次使用模拟的对照表。

df_raw['Occupation'] = df_raw['Occupation'].replace({
                                                        0:'医生',
                                                        1:'警察',
                                                        2:'律师',
                                                        3:'人力',
                                                        4:'程序员',
                                                        5:'运营',
                                                        6:'产品',
                                                        7:'项目管理',
                                                        8:'金融',
                                                        9:'服装设计',
                                                        10:'老师',
                                                        11:'教授',
                                                        12:'行政',
                                                        13:'公务员',
                                                        14:'物流',
                                                        15:'餐饮',
                                                        16:'零售',
                                                        17:'农业',
                                                        18:'广告',
                                                        19:'咨询',
                                                        20:'学生'
df_raw.Occupation.unique()
通过ID对用户进行groupby,进而筛选出每一个独立客户
# 对数据就行分组
cus_group = df_raw.groupby('User_ID').agg({ 
                                            'Gender':np.min,
                                            'Age':np.min,
                                            'Occupation':np.min,
                                            'City_Category':np.min,
                                            'Stay_In_Current_City_Years':np.min,
                                            'Marital_Status':np.min,
                                            'Purchase':np.mean}).reset_index()
cus_group.head()

多维度分析客户

# 获取全部用户性别分布情况
cus_gender = cus_group.groupby('Gender').agg({'User_ID':'count'}).reset_index()
cus_gender
# 绘制性别占比饼状图
plt.figure(figsize=(15,10))
plt.pie(cus_gender.User_ID,labels=['女性','男性'],colors=['#FF69B4','#87CEFA'],autopct='%1.1f%%',explode=[0.05,0.01])
plt.title('不同性别用户数占比')
plt.show()

在这里插入图片描述
由此可知,客户群体以男性为主,占比为75%。

产看年龄分组

df_raw.Age.unique()
# 统计不同年龄段的用户数量
cus_age = cus_group.groupby(['Age','Gender']).agg({'User_ID':'count'}).reset_index()
cus_age
# 获得年龄分组中的男性用户数量
age_male = cus_age[cus_age['Gender'] == 'M']
# 获得年龄分组中的女性用户数量
age_female =cus_age[cus_age['Gender'] == 'F']
plt.figure(figsize=(15,5))
# 绘制男性在各个年龄段的数量柱状图
plt.bar(age_male['Age'],age_male['User_ID'],label='男性',color='#87CEFA',width=0.7)
# 绘制女性在各个年龄段的数量柱状图
plt.bar(age_female['Age'],age_female['User_ID'],bottom=list(age_male['User_ID']),label='女性',color='#FF69B4',width=0.7)
# 增加图例
plt.legend(loc='upper right')
# 横纵坐标标签
plt.xlabel('年龄段')
plt.ylabel('用户数量')
plt.show()

在这里插入图片描述
26-35岁群体用户数量最多,且以男性为主。
18-45岁群体为消费主力。

# 统计不同岗位类别下的用户数量
cus_Occupation = cus_group.groupby('Occupation').agg({'User_ID':'count'}).reset_index()
cus_Occupation.sort_values('User_ID',inplace=True)
cus_Occupation
# 绘制不同岗位与用户数量条形图
plt.figure(figsize=(15,10))
plt.barh(list(cus_Occupation['Occupation']),cus_Occupation['User_ID'],color='#87CEFA')
plt.yticks(cus_Occupation['Occupation'])
# 横纵坐标标签
plt.xlabel('用户数量')
plt.ylabel('岗位类别')
plt.show()

在这里插入图片描述
从职业分布上来看看,单个岗位下单人数排名的前五分别是:程序员、医生、项目管理、警察、农业从业者。

# 查看城市类别的值有哪些
df_raw['City_Category'].unique()
获取不同城市类别对应的数量
cus_city_category = df_raw.groupby('City_Category').agg({'User_ID':'nunique'}).reset_index()
 cus_city_category
# 绘制不同城市类别用户数占比饼状图
plt.figure(figsize=(5,5))
plt.pie(cus_city_category.User_ID,labels=['A','B','C'],colors=['#FF69B4','#87CEFA','#F5DEB3'],autopct='%1.1f%%',explode=[0.01,0.01,0.03])
plt.title('各类别用户数量占比')
plt.show()
# 已婚和未婚数量统计
cus_Marital_Status = cus_group.groupby('Marital_Status').agg({'User_ID':'count'}).reset_index()
cus_Marital_Status.Marital_Status.replace({0:'未婚',1:'已婚'},inplace=True)
cus_Marital_Status
# 绘制不同婚姻状况用户数量占比
plt.figure(figsize=(15,10))
plt.pie(cus_Marital_Status['User_ID'],labels=cus_Marital_Status['Marital_Status'],colors=['#FF69B4','#87CEFA'],autopct='%1.1f%%',explode=[0.05,0.01])
plt.title('不同婚姻状况用户数量占比')
plt.show()
# 查看用户年龄分组的具体值
cus_group['Age'].unique()
# 获得不同年龄段的消费平均值
group_0to17 = cus_group[cus_group['Age']=='0-17']['Purchase']
group_18to25 = cus_group[cus_group['Age']=='18-25']['Purchase']
group_26to35 = cus_group[cus_group['Age']=='26-35']['Purchase']
group_36o45 = cus_group[cus_group['Age']=='36-45']['Purchase']
group_46to50 = cus_group[cus_group['Age']=='46-50']['Purchase']
group_51to55 = cus_group[cus_group['Age']=='51-55']['Purchase']
group_55more = cus_group[cus_group['Age']=='55+']['Purchase']
# 绘制不同年龄段消费均值的箱线图
plt.figure(figsize=(15,6))
plt.boxplot([group_0to17,group_18to25,group_26to35,group_36o45,group_46to50,group_51to55,group_55more])
plt.xticks([1,2,3,4,5,6,7],['0-17','18-25','18-25','36-45','46-50','46-50','46-50'])
plt.show()
# 绘制整体用户的消费均值的箱线图
plt.figure(figsize=(15,10))
plt.boxplot(cus_group.Purchase)
plt.xticks(ticks=[1],labels=['整体购买均值'])
plt.show()
# 整体用户的消费均值的描述性统计
cus_group.Purchase.describe()
  1. 消费者绝对大多数分布是在C类城市的男性,已婚和未婚在消费者中比较均匀的分布,都在50%左右。
  2. 消费者主要分布在18-45岁之间,且26-35岁之间最多。
  3. 从职业分布上来看看,单个岗位下单人数排名的前五分别是:程序员、医生、项目管理、警察、农业从业者。
  4. 绝大多数的消费者的平均消费处于8400-10800美元之间,且不同年龄段消费金额的集中程度差异不大。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码 你拥有一个超市(Supermarket Mall)。通过会员卡,你用有一些关于你的客户的基本数据,如客户ID,年龄,性别,年收入和消费分数。消费分数是根据客户行为和购买数据等定义的参数分配给客户的。 问题陈述:你拥有这个商场。想要了解怎么样的消费者可以很容易地聚集在一起(目标顾客),以便可以给营销团队以灵感并相应地计划策略。 数据集说明: 这是一个商场,通过会员卡,收集的顾客数据。 • CustomerID:顾客编号 • Gender:性别 • Age:年龄 • Annual Income (k$
大数据时代的消费者洞察 孙予加(柳莺) 阿里巴巴集团,产品经理 负责数据产品"淘宝指数"和"全景洞察" 摘要:随着互联网和移动设备的普及,用户留下 的痕迹越来越完整,越来越丰富,互联网就像是一个 巨大的模子把每一个人完整的印在上面,从吃穿住行 到心情状态,从社交娱乐到日常工作,事无巨细的保 留在网上。如果把一个人遗留在各种网站和 APP 上的 点点滴滴串起来,就能还原这个完整的人。本文探讨 了大数据时代消费者研究和社会研究领域将面临的 变革,并通过数据产品"淘宝指数"和"全景洞察" 向研究者阐述已经发生的未来。 关键词:大数据、社会学研究、消费者研究、 数 据挖掘、算法模型、淘宝指数、全景洞察 1. 消费者研究领域的新纪元 这个时代是研究"人"最好的时代。传统的线下 用户调研模式将面临巨大的冲击,因为传统问卷调研 面临成本高、周期长、样本量小、难以迭代等问题, 在大数据时代自然化解了。利用线上数据进行消费者 研究将取代传统的传统问卷调研,并成为主要趋势。 社会学研究和商业研究将会迎来一个新的时代。 如何从海量的繁杂无序的原始数据中提取出有 价值的信息, 数据挖掘技术是至关重要的角色。 例如, 网购收货地址结合登录 IP 地址的场所识别(学校、 医院、写字楼、小区、政府机构、工厂、商场等) , 再结合上网时间地点(白天还是晚上、工作日还是周 末) ;通过算法模型就可以判断出一个人的工作地点、 住宅小区、身份职业等信息。另外,结合消费特征、 APP 偏好,以及社交网站的言论、关注点和公开的身 份信息,通过算法模型基本可以判断出每个人的性 别、年龄、身高体型、消费能力、学历学校、兴趣爱 好(摄影、户外、园艺、钓鱼、打牌、运动,甚至细 化到旅游的地点和运动的类型, 如跑步、 足球、 篮球、 游泳、舞蹈、瑜伽、骑马等) 、风格品味(偏好的品 牌和格调) 、影视偏好(喜欢的电影、电视剧和音乐 风格,追的明星和导演) 、生活习惯和状态(单身、 热恋还是已婚;是否有孩子、孩子的年龄段;是否有 宠物、宠物的类型和品种;是否有房有车、小区档次 和车的品牌型号;是否和父母同住、一家几口住在一 起) 。这些数据只是冰山一角,百度的搜索行为数据 结合地图定位信息,以及腾讯完整的社会关系网数 据,大数据时代的未来充满想象。 很多人可能开始担心数据安全的问题,据我所知 BAT 对数据安全的措施是极其严格的,阿里云的数据 安全级别超过欧洲最高标准。另外,所有和人有关的 数据是经过严格加密的,只有机器才能识别;而个人 只能看到一串无法识别毫无意义的代码。想要得到个 人的隐私数据是根本不可能的。 2.大数据洞察全景 大数据时代的特点是数据的全面、丰富、深度和 联接。不仅可以看到各个行业各种维度的数据,数据 之间还能打通和联接,能够去发现事物背后的关联。 真正的"大数据时代"是从全景到洞察,再到行动, 是一整套体系的建立。 基于此信念,创造了一款数据产品命名为"全 景洞察" ,用于帮助品牌商进行商业决策的高级研究 工具。其特点在于,数据的深度和宽度,可从各种角 度切入,深入的研究消费者特征和行为,对现象背后 的原因进行深度分析。 作为"全景洞察" 的产品经理, 相信它将会对研究领域产生颠覆性的影响。 "全景洞察"有丰富的数据源、非常细的数据颗 粒度(可无限交叉细分) 、可视化的数据展现和自由 灵活的数据分析方法,可进行深度的分析和数据挖 掘。数据分析的结论可落地到行动上,不仅仅是为了 研究而研究。在"全景洞察"中可自由选择需要的数 据分析方法(如下图) ,以及任意的数据维度进行对 比、交叉和关联分析,上亿条数据瞬间计算完成, 在 0.1 秒内以可视化的方式呈现,呈现后可继续细分进 行深度的分析。 2.1 用"全景洞察"建 Persona 背景:某轻奢侈品女包品牌希望用互联网的数据做品 牌定位,绘制目标人群完整的肖像,制定营销策略。 (该案例为真实案例,已隐去品牌名称。 ) 第一步:绘制购买该品牌包初步的消费者画像(人口 特征) ,确定目标人群。 人口特征维度交叉组合,看哪类人对该品牌包有明显 的倾向,通常有 1-3 类人。 (如果没有明显的人群倾 向,说明该品牌定位不准,需要明确品牌定位) 第二步:细化目标人群,对目标人群进行深度分析, 挖掘消费者需求,绘制完整画像。 可以通过该人群在各个行业下偏好的品类、品牌、价 位段、属性、商品特征来绘制完整的人群画像,从吃 穿住行到社交娱乐,深度了解目标人群才能把握其核 心需求。 第三步:如果该品牌有多个细分人群,针对每个人群 设计定制化的营销方案。 对最合适的人群推最合适的商品/服务,说最打动他 们的话, 用最合适的营销方式, 在恰当的时间和地点。 首先,挖掘该女包品牌消费者特征。将各种人口特征维度交叉组合反复尝试,找到特
大家好,本文以真实案为例手把手教你搭建电商系统的用户画像。 先来看该电商用户画像用到的标签。 数据内容包括user_id(用户身份)、item_id(商品)、IDbehavior_type(用户行为类型,包含点击、收藏、加购物车、支付四种行为,分别用数字1、2、3、4表示)、user_geohash(地理位置)、item_category(品类ID,即商品所属的品类)、Time(用户行为发生的时间),其中user_id和item_id因为涉及隐私,做了脱敏处理,显示的是数字编号。 下面是具体的代码实现过程。
数据集及源码https://github.com/JCATHoney/python-data-analysis 一、问题描述 1、不同类型卡的持卡人(type=所有者)的性别对比 2、不同类型卡的持卡人在办卡时的平均年龄对比 3、不同类型卡的持卡人在办卡前一年内的平均帐户余额对比 4、不同类型卡的持卡人在办卡前一年内的平均收入对比 二、数据集 描述:本数据为一家银行的个人金融业务数据集,可以作为银行场景下进行个人客户业务分析和数据挖掘的示例。这份数据中涉及到5300个银行客户的100万笔的交易,而且涉及70
好的,我可以回答您的问题。Python作为一种流行的编程语言,广泛用于数据分析和数据科学领域。以下是一些常见的Python数据分析案例: 1. 金融数据分析Python可以用于金融数据分析,例如股票价格预测、市场趋势分析等。 2. 自然语言处理:Python可以用于处理自然语言数据,例如文本分类、情感分析、文本生成等。 3. 图像处理:Python可以用于图像处理,例如图像识别、图像分割、人脸识别等。 4. 社交网络分析:Python可以用于分析社交网络数据,例如网络图分析、用户行为分析等。 5. 机器学习:Python可以用于机器学习,例如分类、回归、聚类等。 这些案例只是Python数据分析领域中的一小部分,Python在数据科学和人工智能领域的应用非常广泛。