pandas中的向量化字符串函数

本篇博文主要介绍pandas中几个常用的字符串处理的函数。
原数据如下:

import pandas as pd
import numpy as np
import re

data = {"Beryl":"Beryl@google.com", "Tom":"Tom@gmail.com",
        "Lily":"Lily@gmail.com", "Mew":np.nan}
data = pd.Series(data)
data

在这里插入图片描述

  1. data.isnull()是否为空
data.isnull()

在这里插入图片描述
2. data.str.upper()字符大小写转换

data.str.upper()

在这里插入图片描述
3. data.str.split()拆分

#split方法返回一个列表类型的序列
data.str.split("@")

#切分后的列表中的元素可以通过get方法或者[]方法进行读取
data.str.split("@").str.get(1)
data.str.split("@").str[1]

在这里插入图片描述

#使用expand可以将这种返回展开成一个数据表
data.str.split("@",expand=True)

在这里插入图片描述
4. data.str.contains()判断内容

data.str.contains("gmail")

在这里插入图片描述

pattern = r"([A-Z0-9]+)@([A-Z0-9]+)\.([A-Z]{2,4})"

#使用re.contains将正则表达式应用到每个元素上
data.str.contains(pattern, flags=re.IGNORECASE)

在这里插入图片描述
5. data.str.match()判断内容

pattern = r"([A-Z0-9]+)@([A-Z0-9]+)\.([A-Z]{2,4})"

#使用re.match将正则表达式应用到每个元素上
data.str.match(pattern, flags=re.IGNORECASE)

在这里插入图片描述
match和contains的区别是是否严格匹配,match严格基于re.match,而contains基于re.search

7.data.str.findall()判断内容

pattern = r"([A-Z0-9]+)@([A-Z0-9]+)\.([A-Z]{2,4})"

#找出字符串中所有的模式/正则表达式匹配项,以列表返回,参数flags用于编译pattern时指定匹配模式,当参数值为re.IGNORECASE时,表示忽略大小写的搜索替换
data.str.findall(pattern, flags=re.IGNORECASE)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值