项目介绍:
本数据来源于阿里巴巴天池平台。该数据提供口碑商店信息,从2015年1月7日到2016年3月10日(2015.12.12除外)。本文对该数据进行分析,旨在了解受消费者欢迎的商铺以及商品种类。
数据链接:https://pan.baidu.com/s/1J8Q0eCD73wCL3WnLXncXag
提取码:9w0z
本文分析的主要框架
1.整体数据观察
2.城市角度分析(探究城市分布、消费力度、主要商品类目)
3.商品角度分析(销售金额Top商品,探究最优价值商品)
4.shop角度分析(探究平均付款金额与评分、级别以及评论数量之间的关系)
5.结论
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
1.数据观察
columns = ['shop_id','city_name','location_id','per_pay','score','comment_cnt','shop_level','cate_1_name','cate_2_name','cate_3_name']
df= pd.read_table(r'F:\data\shop_data\shop_info.txt',names=columns, sep=',')
df.head(5)
df.info()
原始数据中共有10个字段,每个字段共2000行,字段解释如下:
shop_id:商店ID
city_name:城市
location_id:位置ID(邻居商店具有相同的位置ID)
per_pay:平均付款金额(数字越大表示平均付款金额越高)
score:用户给出的商店得分(数字越大表示得分越高)
comment_cnt:用户评论数量
shop_level:由口碑给出的商店等级(数字越大表示更高等级)
cate_1_name:一级类别名称(中文)
cate_2_name:二级类别名称(中文)
cate_3_name:三级类别名称(中文)
(df.shape[0]-df.count(axis=0))/df.shape[0]
由上看出score、comment_cnt、cate_3_name 的数据是有欠缺的
score 、comment_cnt将近欠缺了14.6% 的数据
cate_3_name 将近欠缺了29%的数据
2.城市角度分析
city_grouped= df.groupby('city_name')
city_grouped['shop_id'].count().sort_values(ascending=False).head(10).plot.pie()
由上图可以看出,口碑上的商店主要是分布在上海、杭州、北京、广州、南京、武汉、深圳等城市。
df[df.city_name=='上海'].cate_1_name.value_counts().plot.bar()
我们再专门对商店数量最多的上海单独分析,发现这些商店多以美食为主。
city_grouped['per_pay'].mean().sort_values(ascending=False).head(10).plot.pie()
由此图发现,平均付款金额较大的并非一线城市,而是德阳、张家口等三四线城市。
3.商品角度分析
cate1_grouped= df.groupby('cate_1_name')
cate1_grouped['comment_cnt'].sum().sort_values(ascending=False).head(1)
在一类商品中,获评论数量最多的是美食类,可见美食类在口碑上最受关注。
a=df[df.cate_1_name=='美食']
a.head()
a.groupby('cate_2_name')['comment_cnt'].sum().sort_values(ascending=False).head()
美食类里面又以快餐类目热销,这也正与口碑为外卖平台相符。
4.shop角度分析
score_grouped=df.groupby('score')
score_grouped['per_pay'].mean()
平均付款金额最高的shop评分主要是1分,其次是评分为2/3,或许我们可以猜测这些商铺评分低的其中一个原因是价格偏高。
shop_level_grouped=df.groupby('shop_level')
shop_level_grouped['per_pay'].mean()
由此看出,口碑上level高的shop平均付款金额要更高一点。
comment_cnt_grouped=df.groupby('comment_cnt')
comment_cnt_grouped['per_pay'].mean()
comment_cnt_grouped['per_pay'].mean().plot.bar()
该直方图显示评论数量与平均消费金额没有太大关系。
5.结论以及建议
1.从城市角度看:
- 结论汇总:口碑上的商店主要是分布在上海、杭州、北京、广州等一线城市,且多以美食类为主
2.从商品角度看:
- 结论汇总:在口碑上,美食类快餐最受用户关注
3.从shop角度看:
- 结论汇总:价格偏高可能会引起用户不满,从而导致评分很低;由口碑给出的商店等级越高,其平均消费金额也会相对较高一点