美文网首页
大量字符串正则哪家快

大量字符串正则哪家快

作者: Mil_Pasos | 来源:发表于2020-04-28 16:42 被阅读0次

使用pd.Series.str更快

本文对比了pd.Series.apply和pd.Series.str在大量字符串正则上的效率,实验如下

import numpy as np
import string

# 随机生成1-100长度的字符串
def random_str():
    return ''.join(np.random.choice(list(string.ascii_letters) + list(string.digits), size=np.random.randint(1, 100), replace=True))

print(random_str())
ao3iemnPTYirQW5HYutAj
# 生成一千万条字符串
str_ls = [random_str() for i in range(int(1e7))]
len(str_ls)
10000000
# 分配到一个DataFrame里
import pandas as pd
df = pd.DataFrame(str_ls, columns=['string'])
# 定义正则表达式
import re
str_regex = re.compile('(IOU)')
# 对比两种方法的效率
import time

start = time.time()
df['apply_res'] = df['string'].apply(lambda x: re.match(str_regex, x))
end = time.time()

print('apply use time:')
print(end - start)

start = time.time()
df['pandas_res'] = df['string'].str.match(str_regex)
end = time.time()

print('pandas str regex use time:')
print(end - start)
apply use time:
10.389425277709961
pandas str regex use time:
4.18695330619812

可见pd.Series.str快了1倍多

相关文章

  • 大量字符串正则哪家快

    使用pd.Series.str更快 本文对比了pd.Series.apply和pd.Series.str在大量字符...

  • 2018-10-29 正则表达式

    Python学习记录 1.正则-> WHY, WHAT, HOWWHY:从大量文本中查找规则字符串,比字符串各种查...

  • 正则

    介绍 1: 在开发中会有大量的字符串处理工作,其中经常会涉及到字符串格式的校验。 正则表达式概述正则表达式,又称正...

  • 作业-第04周--课堂-Day15-正则表达式与三剑客知识应用实

    Day15 课堂笔记 1. 正则表达式 什么是正则表达式? 简单地说,正则表达式就是为了处理大量的字符串及文本而定...

  • day14-正则表达式、esd命令

    1.1 正则表达式 什么是正则表达式? a.正则表达式就是为处理大量的字符串及文本而定义的一套规则和方法。 b.其...

  • linux之正则、三剑客(grep、sed、awk)

    关于正则表达式和三剑客: 1、什么是正则表达式? 作用和特殊字符一样。 正则表达式是为处理大量的字符串及文字而定义...

  • 预习笔记day13(正则表达式的介绍以及基本正则表达式集合)

    1.正则表达式于三剑客知识应用实践 1.1正则表达式介绍: 正则表达式就是为处理大量的字符串及文本而定义的一套规则...

  • day13预习笔记

    正则表达式: 正则表达式就是为处理大量的字符串及文本而定义的一套规则和方法。 Linux三剑客的正则表达式有如下几...

  • day14课堂笔记

    第十一章 正则表达式 正则表达式作用和特殊字符一样 正则表达式 1.为了处理大量的字符串及文本而定义的一套规则和方...

  • day14

    第十一章 正则表达式 正则表达式作用和特殊字符一样 正则表达式 1.为了处理大量的字符串及文本而定义的一套规则和方...

网友评论

      本文标题:大量字符串正则哪家快

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