您的位置:首页 > 编程语言 > Python开发

零食行业python数据分析实例——基于淘宝搜索排名分析

2020-06-04 08:37 441 查看

近期课程作业中分析糖果行业的销售数据,基于此,对淘宝平台的零食行业进行简单的数据分析,数据可视化,为之后的糖果行业做铺垫,有兴趣进一步了解糖果行业的数据分析的小伙伴,欢迎关注我,多多交流

1. 使用webscraper爬取淘宝的数据,具体过程参见webscraper爬取淘宝数据
本篇文章仅涉及数据分析部分

2. 导入需要用的python库

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats

3. 读取爬取到本地的数据

point = "\\淘宝零食行业搜索第一页.xlsx"   #这里可以更换原始数据
df = pd.read_excel(point)
df

4. 对需要分析的两组数据分组聚会

# 将商品名称、成交人数单独取出,分组聚会,按商品名称-成交人数新建a
a = df[['成交人数(万)']].groupby(df['商品名称']).sum()
a.index

5. 对数据排序,便于查看以及之后作图

# 按照成交人数从高到低进行排序
a = a.sort_values(axis=0, ascending=False, by='成交人数(万)')
a

排序结果

6. 生成条形图

sns.barplot(x=a.index,y=a['成交人数(万)'])

sns.barplot(x=a.head(5).index,y=a['成交人数(万)'].head(5))


对销量前五的商品画图

7. 将商品名称、商品价格、成交人数(万)单独取出,分组聚会,按商品名称-成交人数(万)、商品价格新建b(此处为下文的关联分析做准备)

b = df[['商品价格','成交人数(万)']].groupby(df['商品名称']).sum()
b


8. 双变量分析

def pearson(x,y):
return stats.pearsonr(x,y)

g = sns.jointplot(x='成交人数(万)', y='商品价格', data=b, color='r',
s=50, edgecolor='w', linewidth=1,
kind='scatter', space=0.2,
size=7,ratio=5,
marginal_kws=dict(bins=20, rug=True) )

g.annotate(pearson,template='r: {val:.2f}\np: {p:.3f}')
plt.show()


结果
用六角箱图显示

h = sns.jointplot(x='成交人数(万)', y='商品价格', data=b,
kind="hex", color="r",   # 主图为六角箱图
size=6,space=0.1,
joint_kws=dict(gridsize=20,edgecolor='w'),  # 主图参数设置
marginal_kws=dict(bins=20,color='g',
hist_kws={'edgecolor':'k'}),
annot_kws=dict(stat='r',fontsize=15))
h.annotate(pearson,template='r: {val:.2f}\np: {p:.3f}')
plt.show()


通过两种绘图方式以及Pearson相关系数知:
销量和成交价格呈正相关(r>0),|p|远小于1,相关性不大。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: