必威体育Betway必威体育官网
当前位置:首页 > IT技术

Pandas 文本数据方法 extract( ) extractall( )

时间:2019-06-01 16:42:08来源:IT技术作者:seo实验室小编阅读:90次「手机版」
 

extractall

Series.str.extract(pat, flags=0, expand=None)

参数:

pat : 字符串或正则表达式

flags : 整型,

expand : 布尔型,是否返回数据

Returns:

数据框dataframe/索引index

Series.str.extractall(pat, flags=0)

参数:

pat : 字符串或正则表达式

flags : 整型

返回值:

DataFrame(数据框)

#如果提取的规则结果有多组,则会返回数据框,不匹配的返回NaN
In [32]: pd.Series(['a1', 'b2', 'c3']).str.extract('([ab])(\d)', expand=False)
Out[32]: 
     0    1
0    a    1
1    b    2
2  NaN  NaN
#注意正则表达式中的任何捕获组名称将用于列名,否则捕获的组名将被当作列名
In [33]: pd.Series(['a1', 'b2', 'c3']).str.extract('(?P<letter>[ab])(?P<digit>\d)', expand=False)
Out[33]: 
  letter digit
0      a     1
1      b     2
2    NaN   NaN
#参数expand=True在一组返回值的情况下,返回数据框
In [35]: pd.Series(['a1', 'b2', 'c3']).str.extract('[ab](\d)', expand=True)
Out[35]: 
     0
0    1
1    2
2  NaN
#参数expand=False在一组返回值的情况下,返回序列(Series)
In [36]: pd.Series(['a1', 'b2', 'c3']).str.extract('[ab](\d)', expand=False)
Out[36]: 
0      1
1      2
2    NaN
dtype: object
#参数expand=True作用在索引上时,一组数据返回数据框
In [37]: s = pd.Series(["a1", "b2", "c3"], ["A11", "B22", "C33"])

In [38]: s
Out[38]: 
A11    a1
B22    b2
C33    c3
dtype: object

In [39]: s.index.str.extract("(?P<letter>[a-zA-Z])", expand=True)
Out[39]: 
  letter
0      A
1      B
2      C
#参数expand=False作用在索引上时,一组数据返回索引
In [40]: s.index.str.extract("(?P<letter>[a-zA-Z])", expand=False)
Out[40]: Index([u'A', u'B', u'C'], dtype='object', name=u'letter')
#下图表示了在expand=False时,各种情况下index,Series返回值的情况
         1 group    >1 group
Index      Index    ValueERROR
Series    Series    DataFrame
5.
#提取所有匹配的字符串
#extract只返回第一个匹配到的字符
In [42]: s = pd.Series(["a1a2", "b1", "c1"], index=["A", "B", "C"])
In [43]: s
Out[43]: 
A    a1a2
B      b1
C      c1
dtype: object
In [44]: two_groups = '(?P<letter>[a-z])(?P<digit>[0-9])'
In [45]: s.str.extract(two_groups, expand=True)
Out[45]: 
  letter digit
A      a     1
B      b     1
C      c     1
#extractall将匹配所有返回的字符
In [46]: s.str.extractall(two_groups)
Out[46]: 
        letter digit
  match             
A 0          a     1
  1          a     2
B 0          b     1
C 0          c     1

相关阅读

长尾关键词优化的方法

  关键词优化是搜索引擎营销不可分割的一部分,对网站排名、流量和转化有着不可取代的作用。一些简短的关键词虽然很热门,但竞争压

让网站排名更好的四种方法

如何让网站获得更好的排名?SEO优化说到底就是搜索引擎的优化,相比较其他搜索引擎而言,百度在国内市场无疑占比最大,于是SEO的工作基

提升网站权重的方法

 大家都知道网站收录对权重的意义非常大,权重高的网站收录一定不会太低,那么你是否了解过其中的原理呢?那么更好的优化网站呢?下面

网站优化有哪些方法和步骤

 优化站点的步骤是什么?关于如何优化站点的想法。SEO优化的优化分为三类:一次性优化、重复性优化和每日数据监控。这是你需要做

SEO优化有稳定的方法吗?

 当做了一段时间的网站优化后,网站总体关键词或多或少都会有一些排名,这个时候要做的就是让网站排名稳定下来。再去优化其他方面的

分享到:

栏目导航

推荐阅读

热门阅读