手把手教你用Pandas库对淘宝原始数据进行数据处理和分词处理

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

一、前言

大家好,我是Python进阶者,上个礼拜的时候,我的Python交流群里有个名叫程序的大佬,头像是绿色菜狗的那位,在Python交流群里边的人应该都知道我说的是哪个大佬了,他提供了一份初始淘宝数据,数据乍看上去非常杂乱无章,但是经过小小明大佬的神化处理之后,一秒就变清晰了,真是太神了。

然后就有了后续的数据分词处理和可视化等内容了,可能群里的人平时工作太忙,没有来得及看群消息,作为热心的群主,这里给大家整理成一篇文章,感兴趣的小伙伴,可以去实操一下,还是可以学到很多东西的。言归正传,一起来学习下今天的数据分析内容吧。

二、原始数据预处理

1、原始数据

在未经过处理之前的数据,长这样,大家可以看看,全部存储在一个单元格里边了,看得十分的让人难受。如下图所示。

    按照常规来说,针对上面的数据,我们肯定会选择Excel里边的数据分列进行处理,然后依次的去根据空格、冒号去分割,这样可以得到一份较为清晰的数据表,诚然,这种方法确实可行,但是小小明大佬另辟蹊径,给大家用Python中的正则表达式来处理这个数据,处理方法如下。

 2、原始数据预处理

    小小明大佬直接使用正则表达式re模块和pandas模块进行处理,方法可谓巧妙,一击即中,数据处理代码如下。

import re
import pandas as pd
result = []
with open(r"淘宝数据.csv") as f:
    for line in f:
        row = dict(re.findall("([^:\t]+):([^:\t]+)", line))
        if row:
            result.append(row)
df = pd.DataFrame(result)
df.to_excel('new_data.xlsx', encoding='utf-8')
print(df)

    之后我们可以看到效果图,如下图所示,这下是不是感觉到清爽了很多呢?

    至此,我们对原始的数据进行了预处理,但是这还不够,我们今天主要的目标是对上面数据中的两列:配料表和保质期进行数据分析,接下来继续我们的数据处理和分析。

三、对配料表和保质期列进行处理

    一开始的时候,程序大佬对配料表和保质期这两列的数据进行处理,但是来回得到的分词中总有一些特殊字符,如下图所示,我们可以看到这些字符里边有%、顿号、空格等内容。

    我们都知道,这些是我们不需要的字符,当时我们在群里讨论的时候,我们就想到使用停用词去针对这些扰人的字符进行处理,代码如下。

# 创建停用词list
def stopwordslist(filepath):
    stopwords = [line.strip() for line in open(filepath, 'r', encoding='gbk').readlines()]
    return stopwords




# 对句子进行分词
def seg_sentence(sentence):
    sentence_seged = jieba.cut(sentence.strip())
    stopwords = stopwordslist('stop_word.txt')  # 这里加载停用词的路径
    outstr = ''
    for word in sentence_seged:
        if word not in stopwords:
            if word != '\t':
                outstr += word
                outstr += " "
    return outstr

    其中stop_word.txt是小编之前在网上找到的一个存放一些常用特殊字符的txt文件,这个文件内容可以看看下图。

    如上图所示,大概有1894个词左右,其实在做词频分析的时候,使用停用词去除特殊字符是经常会用到的,感兴趣的小伙伴可以收藏下,也许后面你会用到呢?代码和数据我统一放到文末了,记得去取就行。经过这一轮的数据处理之后,我们得到的数据就基本上没有太多杂乱的字符了,如下图所示。

    得到这些数据之后,接下来我们需要对这些词语做一些词频统计,并且对其进行可视化。如果还有想法的话,也可以直接套用词云模板,生成漂亮的词云图,也未尝不可。

四、词频统计

    关于词频统计这块,小编这里介绍两种方法,两个代码都是可以用的,条条大路通罗马,一起来看看吧!

方法一:常规处理

    这里使用的是常规处理的方法,代码亲测可用,只需要将代码中的1.txt进行替换成你自己的那个需要分词统计的文档即可,然后系统会自动给你生成一个Excel表格和一个TXT文件,内容都是一样的,只不过一个是表格,一个是文本。

#!/usr/bin/env python3
# -*- coding:utf-8 -*-


import sys
import jieba
import jieba.analyse
import xlwt  # 写入Excel表的库


# reload(sys)
# sys.setdefaultencoding('utf-8')


if __name__ == "__main__":


    wbk = xlwt.Workbook(encoding='ascii')
    sheet = wbk.add_sheet("wordCount")  # Excel单元格名字
    word_lst = []
    key_list = []
    for line in open('1.txt', encoding='utf-8'):  # 1.txt是需要分词统计的文档


        item = line.strip('\n\r').split('\t')  # 制表格切分
        # print item
        tags = jieba.analyse.extract_tags(item[0])  # jieba分词
        for t in tags:
            word_lst.append(t)


    word_dict = {}
    with open("wordCount_all_lyrics.txt", 'w') as wf2:  # 打开文件


        for item in word_lst:
            if item not in word_dict:  # 统计数量
                word_dict[item] = 1
            else:
                word_dict[item] += 1


        orderList = list(word_dict.values())
        orderList.sort(reverse=True)
        # print orderList
        for i in range(len(orderList)):
            for key in word_dict:
                if word_dict[key] == orderList[i]:
                    wf2.write(key + ' ' + str(word_dict[key]) + '\n')  # 写入txt文档
                    key_list.append(key)
                    word_dict[key] = 0


    for i in range(len(key_list)):
        sheet.write(i, 1, label=orderList[i])
        sheet.write(i, 0, label=key_list[i])
    wbk.save('wordCount_all_lyrics.xls')  # 保存为 wordCount.xls文件

方法二:使用Pandas优化处理

    这里使用Pandas方法进行处理,代码如下,小编也是亲测有效,小伙伴们也可以去尝试下。

def get_data(df):
    # 将食品添加剂这一列空的数据设置为无
    # print(df)
    df.loc[:,'食品添加剂'] = df['食品添加剂'].fillna('无')
    df.loc[:,'保质期'] = df['保质期'].fillna('无')
    df.loc[:, '配料表'] = df['配料表'].fillna('无')


    #  分词并扩展提取
    names = df.配料表.apply(jieba.lcut).explode()
    #  过滤长度小于等于1的词并去重
    df1 = names[names.apply(len) > 1].value_counts()


    with pd.ExcelWriter("taobao.xlsx") as writer:
        df1.to_excel(writer, sheet_name='配料')


    df2 = pd.read_excel('taobao.xlsx', header=None, skiprows=1, names=['column1', 'column2'])
    print(df2)

    上面两个代码都是可以用的,最后得到的表格数据,如下图所示。

    从上图我们可以看到配料表里边的配料占比详情,有了上述的数据之后,接下来我们就可以对其进行可视化操作了。关于可视化的内容,小编也给大家已经准备好了,等待下一篇原创文章,给大家输出,敬请期待。

五、总结

    大家好,我是Python进阶者。本文写到这里,基本上就告一段落了。本文基于一份杂乱的淘宝原始数据,利用正则表达式re库和Pandas数据处理对数据进行清洗,然后通过stop_word停用词对得到的文本进行分词处理,得到较为”干净“的数据,之后利用传统方法和Pandas优化处理两种方式对数据进行词频统计,针对得到的数据。

下一步将利用Pyecharts库,进行多重可视化处理,包括但不限于饼图、柱状图、Table表、漏斗图、极化图等,通过一系列的改进和优化,一步步达到想要的效果,可以说是干货满满,实操性强,亲测有效。

左手Python,右手Java,升职就业不愁啦!

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
pandas-中文分词工具 #!/usr/bin/env python # coding: utf-8 # # 第二课 Pandas文本数据分析 # ## 第六节 中文分词工具 # In[1]: import jieba # In[2]: sentence = '欢迎来到小象学院学习数据分析' # In[3]: jieba.cut(sentence) # In[4]: list(jieba.cut(sentence, cut_all=False)) # In[5]: list(jieba.cut(sentence, cut.. 阅读详情

相关推荐

NLP选型决策地图:生产环境下的中文处理实战指南

自然语言处理(NLP)选型不是比拼准确率的排行榜,而是面向真实工程约束的技术判断。理解分词原理、模型加载机制与内存占用特征,是构建高可用中文文本处理系统的基础;spaCy 的可插拔流水线、Hugging Face Transformers 的微调灵活性、NLTK 的学术资源价值、Stanza 的多语言句法一致性以及TextBlob的轻量验证能力,共同构成不同场景下的技术适配谱系。尤其在边缘部署、低延迟服务、领域术语识别可解释性要求等关键维度上,中文支持强度与生产环境适配性往往比SOTA指标更具决定性。本

weixin_30879833的博客 488

python 数据分析与可视化

python数据分析及可视化 涉及内容 (1)Pandas的Series数据类型的定义及相关操作函数; (2)Pandas的DataFtame数据类型的定义及相关操作函数; (3)Pandas的统计功能; (4)Pandas的合并连接排序; (5)Pandas的帅选过滤功能; (6)Pandas的数据导入导出功能。 Pandas入门 } 1.生成一维数组 import numpy as np import pandas as pd x = pd.Series([1, 3, 5, np.nan]

weixin_43327597的博客 3787

使用Pandas淘宝原始数据进行数据处理分词处理

本文介绍了如何使用Pandas淘宝原始数据进行数据处理分词处理,并通过案例代码展示了具体实现过程。通过数据清洗、分词处理、数据分析可视化等步骤,我们可以将原始的文本数据转化为有价值的信息,为后续的决策提供支持。展望未来,随着数据规模的不断扩大数据处理技术的不断发展,我们期待更多高效、智能的数据处理工具的出现,帮助我们更好地挖掘数据价值。同时,也希望广大新手朋友能够不断学习实践,掌握数据处理分析的基本技能,为未来的职业发展打下坚实基础。

这家伙很懒,什么都没有留下 822

实战笔记:利用pandas提升分词后过滤停用词的效率

前言:最近工作中开发了一个需要对大批量文本进行分词及统计词频的工具,主要是在 jieba 分词、过滤停用词两个环节耗时。分词部分可以考虑采用 jieba-fast 提升速度,而过滤环节的效率一直没找到好方法,今天偶然发现了pandas可以帮助实现! 1、常规方法 那么开始吧!首先完成分词部分,得到一个储存了所有单词的超大列表; import pandas as pd import jieba stopwords = [line.strip() for line in open('chineseSto.

Seon_Pan的记录库 1795

java中文分词工具_对Pandas百万级文本进行中文分词加速,看这一篇就足够了

一、摘要很多NLP相关的任务都需要分词,而当文本语料比较多时,用python处理分词任务的过程会比较消耗时间。本文测试了对pandas百万级中文语料分词的多种实现方案相应的执行时间,希望读者可以根据本次实验的结果选择适合自己的实现方式,节约分词任务带来的时间损耗。尤其是在没有集群环境下,需要在单机上处理大量文本分词任务时,可以有所参考。我们测试的多种方案中,最好的方案比最差的方案速度提升了318...

weixin_39637386的博客 947

Python实现的人工智能冬奥会对话系统

本文介绍了基于冬奥会知识的智能问答系统构建方案。系统采用检索式对话框架,通过数据预处理、文本向量化余弦相似度比对三个主要步骤实现问答功能。在预处理阶段,系统对输入问题进行中文分词停用词处理;随后使用CountVectorizer将文本转化为词频矩阵;最后通过余弦相似度算法匹配最相关问题并返回答案。实验表明,保留停用词的分词方式在该系统中表现更优。该系统可应用于冬奥会知识问答等场景,但存在查询效率待优化的问题。

毕业作品网站 2809

手把手教你用Pyecharts淘宝数据进行可视化展示

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤博学而约取,厚积而薄发。大家好,我是Python进阶者。一、前言大...

pdcfighting的博客 2398

pandas数据处理清洗案例:中文地址拆分

一、案例场景淘宝优惠券 m.fenfaw.net 字段login_place,一共267725行记录,随机15条记录如下:   后续数据分析工作需要用到地理维度进行分析,所以需要把login_place字段进行拆分成:国家、省份、地区。 二、初步方案   第三方中文分词:jieba,可以对文本进行拆分。使用参考资料:jieba的使用。初步方案: 用jieba.cut()将文本拆分为单词列表list_word; 分支判断list_word长度,赋值国家、城市、地区。 代码:(抽取1000条记录,看一下我.

weixin_48967543的博客 590

Python Selenium动态爬虫实战:手把手教你爬取淘宝商品数据

动态网页爬取是现代网络数据采集的核心技术之一,其原理在于模拟浏览器行为,等待JavaScript执行并渲染页面后获取完整数据。这项技术对于电商数据分析、价格监控竞品研究具有重要价值,广泛应用于市场调研商业智能场景。通过Selenium操控无头浏览器,可以有效解决传统静态爬虫无法获取动态内容的问题。本文以淘宝网为例,详细解析了如何利用SeleniumBeautifulSoup构建稳定可靠的动态爬虫,并深入探讨了反反爬策略与数据清洗技巧,为Python爬虫进阶提供完整解决方案。

weixin_30687051的博客 403

(NLP) 淘宝评论处理(1)--工具介绍

文章大纲及涉及的工具 最近在接触自然语言处理的项目,对目前的情况做一个总结: 项目目标 相关工具 自然语言处理的基本流程 进一步处理及相关的算法知识 目前的进展以及所面临的问题 项目目标 对淘宝商品的评论进行归纳,为每条评论进行关键短语的提取,并将关键短语进行聚类标签化。为每个评论打标签。并对评论进行情感分析。 相关工具 这里为大家介绍一下我在项目中接触的几...

Chaos_Happy 4575

基于python的淘宝商品数据爬取与可视化系统

这是一个基于Python的淘宝商品数据爬取与价格分析可视化系统,集成了数据爬取、数据存储、数据展示可视化分析等功能。系统采用图形化用户界面,提供直观的操作体验,支持爬取分析各类淘宝商品数据。

Michael_Jay的博客 1159

Python爬虫实战:抓取天猫淘宝评论数据与可视化分析全流程

网络爬虫作为数据采集的核心技术,通过模拟浏览器行为自动获取网页信息,其原理在于解析HTTP请求与响应,是实现数据自动化的基础工具。在电商与市场分析领域,这项技术的价值尤为突出,能够高效获取海量用户反馈,为产品优化商业决策提供数据支撑。Python凭借其丰富的生态,成为实现爬虫的主流选择,其中Requests负责网络请求,Pandas则用于数据处理与分析。具体到电商场景,爬虫技术常被应用于商品评论采集,通过分析评论文本、评分分布与时间趋势,可以洞察用户真实需求与产品口碑。本文聚焦于天猫淘宝平台,详细解

weixin_31458015的博客 1257

Python3-pandas使用

pandas使用总结

小仙女的博客 1万+

Python结合淘宝关键词API进行商品数据挖掘与

淘宝关键词商品数据挖掘的核心流程是「接口请求 → 数据清洗 → 维度分析 → 结果可视化 / 保存」,新手可优先落地 3 个核心挖掘维度;本次代码可直接复制使用,仅需修改APP_KEYKEYWORD,即可完成从数据获取到挖掘分析的全流程,且结果保存为 Excel 图片,便于后续整理;第三方接口适合入门学习,商业场景需对接淘宝开放平台合规接口,挖掘时需注意数据量调用频率,避免违规。

ID_18007905473的博客 1153

中文NLP实战入门:从淘宝标题清洗到结构化标签

自然语言处理(NLP)是让机器理解人类文本的基础技术,其核心在于将非结构化文本转化为可计算、可分析的结构化数据。在中文场景中,由于缺乏空格分词、存在大量噪声(emoji、错别字、营销符号)及领域特异性(如电商标题、客服工单),传统英文NLP流程极易失效。关键技术价值体现在文本预处理——它占真实项目80%工作量,直接决定后续分词、情感分析与分类效果。典型应用场景包括商品标题标准化、用户评论情绪识别、客服对话意图抽取等。本文聚焦中文NLP工程落地,以Jieba分词、TextBlob情感增强Scikit-lea

weixin_30607029的博客 460

【Python】参加淘宝天猫天池大数据比赛的代码解析(一)

最近报名参加了天池大数据比赛,题目是搭建一个推荐系统,我使用的是Python语言,挖掘的第一步是输入原始数据,折腾了很久才把数据按照期望的格式进行输入存储,在这里介绍一下 天池大数据比赛链接: http://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.X8Bm6J&raceId=231506 ...

大白菜学习数据挖掘 1593

Python爬虫实战:Selenium自动化抓取天猫淘宝评论数据与文本分析

网络爬虫作为数据采集的核心技术,通过模拟浏览器行为自动获取网页信息。其工作原理在于解析页面结构并提取目标数据,在数据分析、市场研究等领域具有重要价值。电商平台积累了海量用户评价,这些数据是洞察消费趋势、优化产品策略的关键。本文聚焦于使用Selenium工具应对动态加载页面,结合PandasJieba进行数据处理与文本挖掘,实现从数据采集到基础分析的全流程实践,为后续深入的情感分析用户行为研究奠定基础。

weixin_33824385的博客 354

【NLP论文】01 基于 Jieba Word2vec 的关键词词构建

最近有空,把论文中用到的技术大家分享一下(以组件化的形式),本篇将讲述如何从大量的语料中获取诸多关键词构建关键词词或 xx 关键词词(细分领域)。举例以购物网站的在线评论作为语料,对其进行分词等操作,最终构建关键词词(以物流关键词词为例)顺便绘制词云图。关键词词构建完成后,可以做的事情就多了,往后包括权值计算情感分析,这些都是将关键词作为基础单位的,往前对接 xx 评价指标体系(这些是题外话,可以忽略)。

尹煜的博客 8334
上一篇: 20行Python代码,轻松提取PPT文字到Word!
下一篇: 最详尽的PyCharm 实用教程,值得一看!
菜鸟学Python
博客等级 码龄9年 7562粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值