美文网首页数据清洗
Python-正则清洗数据

Python-正则清洗数据

作者: 蜡笔不好吃 | 来源:发表于2018-08-26 16:36 被阅读32次

这个本来是写好的,但是今天在用的时候却发现了问题,重新改写了,所以记录一下。

问题

sku代表商品编号,一款商品代表一个sku。
当时大致的浏览了下,发现主要分为两类
如:


sku

当时问了下老大后基本思路就出来了。
第一类的提取前面的字母,第二类暂时归为'other'

然后用正则写了

# sku缩写
if '-' in sku:
    sku_short = 'other'
else:
    sku_short = re.sub(r'\d', '', sku)

思路是很简单的,就是用正则的替换功能,把数字全部替换成空格。

因为这个暂时用不上,大致浏览了下发现提取成功后就过去了。
但是今天想计算不同种类的权重时,发现一个问题,sku_short竟然出现了sweatshirta这样的奇怪的数据。查了下sku_short中有sweatshirt,后来去数据中查询,找到原因了


特别点的sku

再仔细检查了sku_short的数据,发现还有一些和这个情况类似,后面额外带一个两个字母的,那是因为有一些sku原本后面并不是纯数字,有少数的带了一两个字母。所以之前的清洗思路就不对了。

思路

    # sku缩写
    if '-' in sku:
        sku_short = 'other'
    else:
        sku_short = re.split(r'\d+', sku)[0]

新的思路就是用正则的分割方法,将数字作为分割符进行分割形成列表,取列表第一个元素。

例如:
字符串'sweatshirt170804704a'就会分割成列表['sweatshirt','a']。然后取列表第一个元素即可。

总结

要根据不同的情况采用不同的方法,是替换数字?还是提取开头字母?
当然,最后要进行检查才行。

相关文章

  • Python-正则清洗数据

    这个本来是写好的,但是今天在用的时候却发现了问题,重新改写了,所以记录一下。 问题 sku代表商品编号,一款商品代...

  • 正则清洗数据

    测试样例 预处理 只有1种成分(没有数据or只有1个单词) 比例换算型(数字小于10) 补逗号,补百分比 有逗号,...

  • 正则

    正则 正则的使用场景数据提取,数据清洗数据校验 re模块的导入及使用 正则表达式匹配单个字符. 任意一个字符,换...

  • 深入浅出数据分析|数据清洗

    @(R语言)深入浅出数据分析|数据清洗 数据 hfda_ch13_data_for_R.csv 加载数据 正则表达...

  • 「Python」数据清洗常用正则

    对爬虫数据进行自然语言清洗时用到的一些正则表达式 标签中的所有属性匹配(排除src,href等指定参数...

  • python-正则

    表示字符: 表示数量: 表示边界: 匹配分组:

  • python-正则

    https://www.cnblogs.com/MrFiona/p/5954084.html

  • python-正则

    ~~概述: 序号代码功能1.匹配任意1个字符(除了\n)2[]匹配[]中列举的字符3\d匹配数字,即0-94\D匹...

  • 数据清洗工具flashtext,效率直接提升了几十倍数

    在平常的一些的小规模的数据的过滤、清洗过程中使用最多的就是正则表达式,但是随着数据规模的增大,正则表达式就显得有些...

  • 2018-03-07

    Python文本数据与图像数据分析的常见技术文本分析:清洗与常见算法a) 正则表达式b) 分词与关键字提取图像分析...

网友评论

    本文标题:Python-正则清洗数据

    本文链接:https://www.haomeiwen.com/subject/wtpoiftx.html