Python入门 —— 正则表达式 Day9 【转载】

在数据清洗的学习过程中,发现文本数据的处理并非一招半式能解决,有时必须要搬出利器——正则表达式。在之前的【SAS正则表达式】系列中(在后台回复【sasre】查看),我用正则表达式做文本处理做的非常之爽,比如下面这列数据:
Python入门 —— 正则表达式 Day9 【转载】_第1张图片
这是一份产品名单,有的用数字来编码,有的直接是产品的名字,现在想把数字编码(也即红色字体)的部分提取出来,看似没有什么规律,但是在SAS中,用正则表达式两行代码就搞定了。
现在,要挑战用正则表达式处理Pandas的数据。

一、正则表达式简介

虽然在SAS中学了正则表达式的基础,Python稍有不同,现在还是简单复习一下:

1. 元字符

元字符是一系列代码,用来简化表达某种意思,比如:
\d 表示数字
\D 表示非数字
\w 表示单词字符
\W 表示非单词字符
等等。

有一个技术博客里给了很好的总结,网址:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html,以备查询。

2. 函数

Python入门 —— 正则表达式 Day9 【转载】_第2张图片
Python入门 —— 正则表达式 Day9 【转载】_第3张图片
Python入门 —— 正则表达式 Day9 【转载】_第4张图片
Python入门 —— 正则表达式 Day9 【转载】_第5张图片
Python入门 —— 正则表达式 Day9 【转载】_第6张图片
不行,匹配不出来,因为Shuojun不是出现在开头。
Python入门 —— 正则表达式 Day9 【转载】_第7张图片

二、 初识PRXPOSN()

Python入门 —— 正则表达式 Day9 【转载】_第8张图片
Python入门 —— 正则表达式 Day9 【转载】_第9张图片

三、用正则表达式处理Pandas数据

1.匹配行

Python入门 —— 正则表达式 Day9 【转载】_第10张图片
Python入门 —— 正则表达式 Day9 【转载】_第11张图片
Python入门 —— 正则表达式 Day9 【转载】_第12张图片
Python入门 —— 正则表达式 Day9 【转载】_第13张图片

2. 提取匹配文字

Python入门 —— 正则表达式 Day9 【转载】_第14张图片
Python入门 —— 正则表达式 Day9 【转载】_第15张图片
Python入门 —— 正则表达式 Day9 【转载】_第16张图片

3. 提取匹配文字中的一部分

Python入门 —— 正则表达式 Day9 【转载】_第17张图片
Python入门 —— 正则表达式 Day9 【转载】_第18张图片
Python入门 —— 正则表达式 Day9 【转载】_第19张图片
Python入门 —— 正则表达式 Day9 【转载】_第20张图片
Python入门 —— 正则表达式 Day9 【转载】_第21张图片

4. 总结

虽然具体的问题千奇百怪,但核心的方法都是一样的,正则表达式函数+迭代 = Pandas数据的处理。考验的还是Python技巧的综合运用。

你可能感兴趣的:(Python)