⑩ slice_replace:使用给定的字符串,替换指定的位置的字符
df["电话号码"].str.slice_replace(4,8,"*"*4)
结果如下:
⑪ replace:将指定位置的字符,替换为给定的字符串
df["身高"].str.replace(":","-")
结果如下:
⑫ replace:将指定位置的字符,替换为给定的字符串(接受正则表达式)
replace中传入正则表达式,才叫好用;
先不要管下面这个案例有没有用,你只需要知道,使用正则做数据清洗多好用;
df["收入"].str.replace("\d+\.\d+","正则")
结果如下:
⑬ split方法+expand参数:搭配join方法功能很强大
# 普通用法 df["身高"].str.split(":") # split方法,搭配expand参数 df[["身高描述","final身高"]] = df["身高"].str.split(":",expand=True) df # split方法搭配join方法 df["身高"].str.split(":").str.join("?"*5)
结果如下:
⑭ strip/rstrip/lstrip:去除空白符、换行符
df["姓名"].str.len() df["姓名"] = df["姓名"].str.strip() df["姓名"].str.len()
结果如下:
⑮ findall:利用正则表达式,去字符串中匹配,返回查找结果的列表
findall使用正则表达式,做数据清洗,真的很香!
df["身高"] df["身高"].str.findall("[a-zA-Z]+")
结果如下:
⑯ extract/extractall:接受正则表达式,抽取匹配的字符串(一定要加上括号)
df["身高"].str.extract("([a-zA-Z]+)") # extractall提取得到复合索引 df["身高"].str.extractall("([a-zA-Z]+)") # extract搭配expand参数 df["身高"].str.extract("([a-zA-Z]+).*?([a-zA-Z]+)",expand=True)
结果如下: