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

pandas中的向量化字符串函数

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

pandas中的向量化字符串函数
2. data.str.upper()字符大小写转换

data.str.upper()

pandas中的向量化字符串函数
3. data.str.split()拆分

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

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

pandas中的向量化字符串函数

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

pandas中的向量化字符串函数
4. data.str.contains()判断内容

data.str.contains("gmail")

pandas中的向量化字符串函数

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

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

pandas中的向量化字符串函数
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)

pandas中的向量化字符串函数
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)

pandas中的向量化字符串函数

上一篇:【高等数学】曲线的切线与法平面和曲面的切平面与法线


下一篇:代码审计_数组返回NULL绕过