打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Pandas 文本数据方法 extract( ) extractall( )

2017年03月22日 20:26:34

参数:
pat : 字符串或正则表达式
flags : 整型,
expand : 布尔型,是否返回数据框
Returns:
数据框dataframe/索引index

Series.str.extractall(pat, flags=0)
参数:
pat : 字符串或正则表达式
flags : 整型
返回值:
DataFrame(数据框)

#如果提取的规则结果有多组,则会返回数据框,不匹配的返回NaNIn [32]: pd.Series(['a1', 'b2', 'c3']).str.extract('([ab])(\d)', expand=False)Out[32]:      0    10    a    11    b    22  NaN  NaN#注意正则表达式中的任何捕获组名称将用于列名,否则捕获的组名将被当作列名In [33]: pd.Series(['a1', 'b2', 'c3']).str.extract('(?P<letter>[ab])(?P<digit>\d)', expand=False)Out[33]:   letter digit0      a     11      b     22    NaN   NaN#参数expand=True在一组返回值的情况下,返回数据框In [35]: pd.Series(['a1', 'b2', 'c3']).str.extract('[ab](\d)', expand=True)Out[35]:      00    11    22  NaN#参数expand=False在一组返回值的情况下,返回序列(Series)In [36]: pd.Series(['a1', 'b2', 'c3']).str.extract('[ab](\d)', expand=False)Out[36]: 0      11      22    NaNdtype: object#参数expand=True作用在索引上时,一组数据返回数据框In [37]: s = pd.Series(["a1", "b2", "c3"], ["A11", "B22", "C33"])In [38]: sOut[38]: A11    a1B22    b2C33    c3dtype: objectIn [39]: s.index.str.extract("(?P<letter>[a-zA-Z])", expand=True)Out[39]:   letter0      A1      B2      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 groupIndex      Index    ValueErrorSeries    Series    DataFrame5.#提取所有匹配的字符串#extract只返回第一个匹配到的字符In [42]: s = pd.Series(["a1a2", "b1", "c1"], index=["A", "B", "C"])In [43]: sOut[43]: A    a1a2B      b1C      c1dtype: objectIn [44]: two_groups = '(?P<letter>[a-z])(?P<digit>[0-9])'In [45]: s.str.extract(two_groups, expand=True)Out[45]:   letter digitA      a     1B      b     1C      c     1#extractall将匹配所有返回的字符In [46]: s.str.extractall(two_groups)Out[46]:         letter digit  match             A 0          a     1  1          a     2B 0          b     1C 0          c     1
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何用Pandas处理文本数据?
7步搞定数据清洗-Python数据清洗指南
pandas 数据规整
Python 数据处理库 pandas 入门教程
pandas中的字符串处理函数
Pandas实战——灵活使用pandas基础知识轻松处理不规则数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服