pandas入门(十四)

上一篇:pandas入门(十三)

正则表达式

正则表达式提供了一种灵活的在文本中搜索或匹配(通常比前者复杂)字符串模式的方式。正则表达式,常称作regex,是根据正则表达式语言编写的字符串。Python内置的re模块负责对字符串应用正则表达式。

re模块的函数可以分为三个大类:模式匹配、替换以及拆分。当然,它们之间是相 辅相成的。一个regex描述了需要在文本中定位的一个模式,它可以用于许多目 的。拆分一个字符串,分隔符为数量不定 的一组空白符(制表符、空格、换行符等)。描述一个或多个空白符的regex是 \s+。在这里插入图片描述

=====================================
调用re.split(’\s+’,text)时,正则表达式会先被编译,然后再在text上调用其split方 法。可以用re.compile自己编译regex以得到一个可重用的regex对象
在这里插入图片描述

=====================================
得到匹配regex的所有模式,则可以使用findall方法
在这里插入图片描述

==
如果想避免正则表达式中不需要的转义(\),则可以使用原始字符串字 面量如r’C:\x’(也可以编写其等价式’C:\x’)。==

如果打算对许多字符串应用同一条正则表达式,强烈建议通过re.compile创建regex 对象。这样将可以节省大量的CPU时间。match和search跟findall功能类似。findall返回的是字符串中所有的匹配项,而 search则只返回第一个匹配项。match更加严格,它只匹配字符串的首部。有一段文本以及一条能够识别大部分电子邮件地址的正则表达式。
在这里插入图片描述

=====================================
对text使用findall将得到一组电子邮件地址
在这里插入图片描述

=====================================
search返回的是文本中第一个电子邮件地址(以特殊的匹配项对象形式返回)。对 于上面那个regex,匹配项对象只能告诉我们模式在原字符串中的起始和结束位置
在这里插入图片描述

=====================================
regex.match则将返回None,因为它只匹配出现在字符串开头的模式
在这里插入图片描述

=====================================
相关的,sub方法可以将匹配到的模式替换为指定字符串,并返回所得到的新字符串:
在这里插入图片描述

层次化索引

层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。使你能以低维度形式处理高维度数据。创建一个Series,并用一个由列表或数组组成 的列表作为索引
在这里插入图片描述

=====================================
看到的结果是经过美化的带有MultiIndex索引的Series的格式。索引之间的“间隔”表 示“直接使用上面的标签”
在这里插入图片描述

=====================================
对于一个层次化索引的对象,可以使用所谓的部分索引,使用它选取数据子集的操作更简单:
在这里插入图片描述

=====================================
有时甚至还可以在“内层”中进行选取
在这里插入图片描述

=====================================
层次化索引在数据重塑和基于分组的操作(如透视表生成)中扮演着重要的角色。
在这里插入图片描述

=====================================
unstack的逆运算是stack
在这里插入图片描述

=====================================
对于一个DataFrame,每条轴都可以有分层索引
在这里插入图片描述

=====================================
各层都可以有名字(可以是字符串,也可以是别的Python对象)。如果指定了名 称,它们就会显示在控制台输出中在这里插入图片描述

小心区分索引名state、color与行标签。

=====================================
可以单独创建MultiIndex然后复用。上面那个DataFrame中的(带有分级名称)列 可以这样创建
在这里插入图片描述

++++++++++++++++++++++++++++++++++++

下一篇:pandas入门(十五)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值