pandas中的向量化字符串函数

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

import pandas as pd
import numpy as np
import re

data = {"Beryl":"[email protected]", "Tom":"[email protected]",
        "Lily":"[email protected]", "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)

在这里插入图片描述

发布了64 篇原创文章 · 获赞 51 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43135165/article/details/104897451
今日推荐