前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入

上一篇文章 https://www.jianshu.com/p/9683898a4237
已经爬取了淘宝商品信息了现在对其进行数据分析

####对商品标题进行文本分析
使用jieba分词器,对raw_title列每一个商品标题进行分词,通过停用表StopWords对标题进行去除停用词。因为下面要统计每个词语的个数,所以 为了准确性,在这里对过滤后的数据 title_clean 中的每个list的元素进行去重,即每个标题被分割后的词语唯一。
代码如下:

# 将所有商品标题转换为list
title = data.raw_title.values.tolist()
'''
遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载!
'''
# 对每个标题进行分词,使用jieba分词
import jieba
title_s = []
for line in title:
    title_cut = jieba.lcut(line)
    title_s.append(title_cut)

# 导入停用此表
stopwords = [line.strip() for line in open('StopWords.txt', 'r', encoding='utf-8').readlines()]

# 剔除停用词
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)
# 进行去重
title_clean_dist = []
for line in title_clean:
    line_dist = []
    for word in line:
        if word not in line_dist:
            line_dist.append(word)
    title_clean_dist.append(line_dist)
    
# 将 title_clean_dist 转化为一个list
allwords_clean_dist = []
for line in title_clean_dist:
    for word in line:
        allwords_clean_dist.append(word)
        
# 把列表 allwords_clean_dist 转为数据框
df_allwords_clean_dist = pd.DataFrame({
    'allwords':allwords_clean_dist
})

# 对过滤_去重的词语 进行分类汇总
word_count = df_allwords_clean_dist.allwords.value_counts().reset_index()
word_count.columns = ['word', 'count']

接下来需要对已分词好的数据进行词云可视化,代码如下:

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
plt.figure(figsize=(20,10))

# 读取图片
pic = imread("猫.png")
w_c = WordCloud(font_path="simhei.ttf", background_color="white", mask=pic, max_font_size=100, margin=1)
wc = w_c.fit_words({
    x[0]:x[1] for x in word_count.head(100).values
})
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()

image.png
分析结论:

  • 组合、整装商品占比很高;
  • 特产、零食、休闲、小吃等字眼的商品占比较高;
  • 从品牌上看:三只松鼠、百草味、良品铺子等网红零食品牌为多。

不同商品关键字word对应的sales之和的统计分析:

假如所爬取到的商品标题中含有“糖果”一词的销量之和,也就是说求出具有“糖果”关键字的商品销量之和。代码如下:

import numpy as np
'''
遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载!
'''
# 重新更新索引,之前去重的时候没有更新数据data的索引,导致部分行缺失值
data = data.reset_index(drop=True)


# 不同关键词word对应的sales之和的统计分析
w_s_sum = []
for w in word_count.word:
    i = 0
    s_list = []
    for t in title_clean_dist:
        if w in t:
            s_list.append(data.sales[i]);
        i+=1
    w_s_sum.append(sum(s_list))  # list求和
    
df_w_s_sum = pd.DataFrame({'w_s_sum':w_s_sum})

# 把 word_count 与对应的 df_w_s_sum 合并为一个表:
df_word_sum = pd.concat([word_count, df_w_s_sum],
                       axis=1, ignore_index=True)
df_word_sum.columns = ['word', 'count', 'w_s_sum'] #添加列名

然后对df_word_sum中的word和w_s_sum两列进行可视化,本文将取销量排名前30的词语进行绘图:

df_word_sum.sort_values('w_s_sum', inplace=True, ascending=True) # 升序
df_w_s = df_word_sum.tail(30)  # 取最大的30行数据

import matplotlib
from matplotlib import pyplot as plt
'''
遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载!
'''
font = {'family' : 'SimHei'}  # 设置字体
matplotlib.rc('font', **font)

index = np.arange(df_w_s.word.size)
plt.figure(figsize=(10,20))
plt.barh(index, df_w_s.w_s_sum, color='blue', align='center', alpha=0.8)
plt.yticks(index, df_w_s.word, fontsize=15)

#添加数据标签
for y, x in zip(index, df_w_s.w_s_sum):
    plt.text(x, y, '%.0f' %x , ha='left', va='center', fontsize=15)
plt.show()

image.png

由图表可知:

  1. 休闲零食小吃之类的销量最高;

  2. 组合、整装商品占比很高;

  3. 从关键字可以看出销量榜上以网红品牌为主。
    ####商品的价格分布情况分析:
    本文中限定所爬取的零食单品的销售价格区间在0-200元,在这里我们结合自身产品情况对商品的价格分布情况分析,代码如下:

plt.figure(figsize=(7,5))
plt.hist(data['view_price'], bins=15, color='blue')
plt.xlabel('价格', fontsize=25)
plt.ylabel('商品数量', fontsize=25)
plt.title('不同价格对应的商品数量分布', fontsize=17)
plt.show()

image.png
由图表可知:

  1. 商品数量集中在0-50元之间,总体呈现先增后减;

  2. 低价位商品居多,价格在12-25元之间的商品最多,次之0-12元,商品最少的在价格160-180元之间;


本文转载: CSDN博客

深圳SEO优化公司石家庄关键词按天计费公司长治关键词排名忻州网站优化按天收费价格大运百搜标王报价阜新百度标王推荐南联网站seo优化多少钱临汾seo网站优化公司布吉网站建设设计推荐衡水百姓网标王哪家好自贡网站搜索优化价格莆田网站优化软件报价南通百姓网标王推广价格阿里seo网站优化价格百色百度网站优化公司民治网站优化推广价格锦州营销型网站建设嘉兴关键词按天计费价格平凉百搜标王公司普洱英文网站建设哪家好江门seo网站优化多少钱苏州至尊标王公司佛山网站建设设计哪家好常德SEO按效果付费哪家好马鞍山网站推广系统多少钱九江网站搜索优化报价成都营销型网站建设推荐红河至尊标王价格张家口百度网站优化排名哪家好辽阳SEO按天计费公司新乡网站优化排名推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化