- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
聚类分析 re模块 re模块中的函数有: search findall finditer match fullmatch split sub subn pattern 聚类分析 re模块 search 用法是re.search(pattern,字符串) 对字符串进行模式搜索,如果找到第一个匹配的位置,返回一个MatchObject对象;这个对象中储存了匹配位置、匹配内容等信息。后面我们会详细讲。 若该字符串没有模式匹配,则返回None。 例如:手机评论数据中出现很多的关于屏幕、音频、拍照之类的功能评价,那么在实际数据分析中,我们可能需要看评论中是否会出现屏幕。re.search()函数便是根据需要匹配的模式进行搜索的函数 聚类分析 手机评论数据集 数据集是从某手机评论网站上爬下来的,共25068条记录。每条记录都已经分好词、去除标点符号,数据可以直接使用。以下显示前五条分好词记录: 聚类分析 re模块 search 我们用正则表达式屏幕.*[好坏]去search我们的评论,得到了一个MatchObject,其中记录了匹配的内容屏幕的质量很好与匹配的位置(从第7到第14位) 聚类分析 re模块 search 如前所述,需要多次复用我们可以先生成一个正则表达式对象,以提高效率。 聚类分析 re模块 search 要注意的是,search进行的是贪婪匹配,即寻找最大的匹配 为了避免上述的错误,可以把中间的*改为{:n},限制间隔的字数 有两段(有包含关系)都可以匹配pattern: 屏幕很坏 屏幕很坏,还不够我家厕所窗户好 贪婪匹配选择包含关系中最大的一段 聚类分析 re模块 search 要注意的是,search只是寻找从左到右第一个与正则表达式匹配,而不是找到所有匹配位置。贪婪指的是匹配的最大,而不是最多。 遇到这个问题应该用findall函数 Pattern代表屏幕与[好坏]只相隔一个字。有两个独立的部分可以匹配pattern: 屏幕很好 屏幕很坏 只选择第一个匹配 聚类分析 re模块 findall 刚才介绍的search函数只能从左到右找出第一个最大的匹配。而findall函数可以找出所有匹配,并把它们从左到右作为一个列表返回。如果无匹配,返回空列表。 注意这里屏幕与好/坏中间只隔了一个通配符.,所以能帮我们得到正确答案。 聚类分析 re模块 findall 要注意,re模块的规则都是贪婪匹配的,findall也不例外 贪婪匹配的含义不是要找出最多的匹配,而是要在每一次匹配的时候找到最大的匹配。这提醒我们,一定要当心使用*,最好都改为由限定范围的{:n} 注意这里屏幕与好/坏中间隔了任意个通配符.*,所以会导致错误。 聚类分析 re模块 finditer finditer函数与findall函数的作用基本是一样的。不同的是finall返回的是一个列表,finditer返回的是一个迭代器。迭代器用完之后可以自动释放内存。 在处理的数据较大的时候,finditer或许会发挥其作用。但如果数据较小、不重视内存,或者手动释放,则finditer的功能可以完全被findall取代。 聚类分析 re模块 match 用法是re.match(pattern,字符串),和re.search()类似,唯一不同的是re.match()只从头开始匹配,re.search()可以匹配任一位置的字符串。 即如果符合正则表达式的字符串如果出现在开头,那么使用re.match()后会返回MatchObject对象,但如果出现在中间位置或没有,则返回None。 也可以等价于在search函数的pattern前增加一个表示字符串开头的\A字符 Match函数也是贪婪的。并且,它显然不存在匹配第一个还是多个这样的问题。因为从头开始的贪婪匹配显然只能有一种结果。 聚类分析 re模块 match 这个例子说明了match只是从头开始匹配 聚类分析 re模块 fullmatch 用法和match类似,但它不但是从头匹配,而是从头到尾匹配 可以说,fullmatch就是用来检测pattern与整个string是不是匹配的 String1是整体与pattern匹配的 String2只有前缀与pattern匹配 聚类分析 re模块 split 一般的字符串也有split函数,用法是string.split(sep=分隔符) 则得到一个将字符串按照分隔符划分而成的表格: 但是只能用一种字符串做为sep来进行切分,功能不够强大 聚类分析 re模块 split 使用re.split(pattern,string)可以将string中所有与pattern匹配的东西做为分割符,继而将字符串分割为一张表。 例如上例以
您可能关注的文档
- 《琵琶行》超完整课件回顾.ppt
- 《琵琶行》ppt课件回顾.ppt
- 【爆款】《琵琶行》ppt课件(最新).ppt
- 《琵琶行》ppt1精梳版.ppt
- 详细版《琵琶行》.ppt
- 《孟子·许行》(完整版).ppt
- [新版]《绿色出行》课件.ppt
- 详细版《论语》中学习与教育思想归纳整理.ppt
- 《老王》-优秀课件最新.ppt
- 汇总《加快实施绿色公路建设的指导意见》张竹彬.ppt
- 2026年消防设施操作员之消防设备基础知识考试题库500道带答案(新).docx
- 销售岗前培训课件.ppt
- 2026年消防设备操作员考试题库500道(典型题).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道附答案(实用).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道标准卷.docx
- 2026年材料员之材料员基础知识考试题库300道附完整答案(全优).docx
- 2026年材料员之材料员基础知识考试题库300道带答案(培优a卷).docx
- 2026年机械员考试题库含答案(轻巧夺冠).docx
- 2026年材料员之材料员基础知识考试题库300道【夺分金卷】.docx
- 2026年期货从业资格之期货法律法规考试题库500道(考点精练).docx
文档评论(0)