在通过在真实的电商环境下,使用海量数据构建用户画像和商品画像,对当地的用户行为和购物喜好做客观分析,绘制出当地用户购物情感倾向画像。挖掘出其商用价值并给各零售商户定制个性化服务,辅助零售商作出改进,实现利润增长。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_csv(r"C:/Users/Administrator/Desktop/淘宝数据挖掘分析/每日娱乐/淘宝热销沙发/淘宝网沙发数据1.csv",engine="python",encoding="gbk")
df.head()
#结果如下
看到表格中第一栏数据了没,这是由很多文字组成的热卖点。
但是热卖点是一段文字,我们直接没法处理,要想把这些热卖信息挖掘出来,接下来要先做中文处理。
#首先对标题的卖点进行文本分析
title=df.NO1.values.tolist()
import jieba
title_s=[]
for line in title:
title_cut=jieba.lcut(line)
title_s.append(title_cut)
with open("中文停用词表.txt","r") as f: #设置文件对象
stopwords = f.read() #可以是随便对文件的操作
#停出停用词
title_clean=[]
for line in title_s:
line_clean=[]
for word in line:
if word not in stopwords:
line_clean.append(word)
title_clean.append(line_clean)
#转化成一个列表
all_title_clean=[]
for line in title_clean:
for word in line:
all_title_clean.append(word)
with open("C:/Users/Administrator/Desktop/淘宝词频.txt","w",encoding="utf-8") as wf:
for i in all_title_clean:
wf.write(i+" ")
上面这一段乱操作大家不用管它,我们就知道这里就是把表格中的每一行单元格中文字处理成一个个的词语,这样我们方便做热卖点统计。
接下来对这一些统计出来的热卖点词频做一些操作,主要看效果如下。
大家看到了吧热卖词语中出现次数最高的TOP10 ,是不是一目了然了呀,
这样我们就很容易看出为什么这款产品这么热卖的原因了,这样能辅助我们做出决策。
如果感觉效果不太满意,我这边再做一个词云图,这样看起来更加优美。
效果如下:
这样是不是感觉非常有趣呢,接下来我们继续挖掘吧!
#上面是博主随意抓取的数据,NO1是商品卖点的描述,NO2是商品价格,NO3发货地
#下面我们选择价格小于20000的沙发来做一下分析
data=df[df["NO2"]<20000]
#在这边需要绘制一个"不同价格对应的商品数量分布"的条形图,但是在python里面想要正确显示出中文来,必须要做处理
#处理代码如下
#解决显示中文问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#下面就是分析关系并可视化的代码
plt.figure(figsize=(8,5))
plt.hist(data["NO2"],bins=15,color="blue",edgecolor='black')
plt.xlabel("价格",fontsize=12)
plt.ylabel("商品数量",fontsize=12)
plt.title("不同价格对应的商品数量分布",fontsize=15)
plt.show()
#效果如下
上图不难发现0-2500元的价格区间的沙发销量最多,觉大多数都在10000元以下,这也符合我们正常的消费观念。
其他规律可以自行发掘。
挖掘到这里我们会发现数据属性太少,没法做进一步的分析,于是我们稍作思考之后再去抓取一点想要的信息。如下。
#这样就可以了,下面继续挖掘吧!
#下面看一下商品价格对销量的影响
fig,ax=plt.subplots()
ax.scatter(data_new["价格"],data_new["销量"],color="red")
ax.set_xlabel("价格",fontsize=15)
ax.set_ylabel("销量",fontsize=15)
ax.set_title("商品价格对销量的影响",fontsize=15)
#结果如下
不难发现销量很高的商品价格主要分布在5000元以内,虽然这一点显得很正常,但有时候不同场景下规律和我们正常思维是有区别的。
#下面看一下不同省份的商品店家数量分布
plt.figure(figsize=(8,5))
data_new.省份.value_counts().plot(kind="bar",color="blue",edgecolor='black')
plt.xlabel("省份",fontsize=12)
plt.ylabel("商品店家数量",fontsize=12)
plt.title("不同省份对应的商品店家数量分布",fontsize=15)
plt.show()
#结果如下
不难发现,售卖沙发的省份中广东省远远高于其他省份。
#那我们细看一下城市售卖沙发数据的情况
#不同城市的商品店家数量分布
plt.figure(figsize=(11,5))
data_new.城市.value_counts().plot(kind="bar",color="blue",edgecolor='black')
plt.xlabel("城市",fontsize=12)
plt.ylabel("商品店家数量",fontsize=12)
plt.title("不同城市对应的商品店家数量分布",fontsize=15)
plt.show()
#效果如下
我们发现,广东省销量最多,但并不说明广东的很多城市都多。结果显示只有佛山这一个地方主要在售卖。
接下来我们对商品店家数量排名TOP5的省份进行各省的商品平均销量的分析。
绘制图如下。
好了这次我们就挖掘这么多吧,之后还会有更加精彩的内容哦!