pandas数据清洗的str属性接口的使用方法

本文详细介绍了如何在Python中使用pandas进行字符串查找、拼接、替换等操作,包括contains、startswith、endswith、cat、split、replace、正则表达式等方法。涵盖了字符处理、数据清洗和基础数据分析的基础技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为CSDN博主「竹~松」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_52227083/article/details/120470534

import pandas as pd
df={'姓名':[' 刘备','蜘蛛精 ','孙悟空  ',' 猪八戒','孙权'],
    '英文名':['Liu bei','zhi zu jing','Zhang fei','Zhu ba jie','sun quan'],
    '性别':['男','woman','男','man','man'],
    '身份证':['45645654','466584515','48486561','456156477','465153423132'],
    '居住地':['巴蜀','盘丝洞','水帘洞','高老庄','东吴'],
    '身高':['mid:180_good','low:165_bad','hight:230_verygood','mid:170_good','low:160_bad']
}
df=pd.DataFrame(df)
df
# 字符查找类方法
# contains函数,判断某个字符串是否包含给定字符
df['居住地'].str.contains('老')
# startswith,endswith函数判断某个字符串是否...开头结尾
df['姓名'].str.startswith('孙')
df['居住地'].str.endswith('洞')
# 字符的拼拆方法
# cat函数拼接,split方法+expand参数将一列扩为几列
df['姓名'].str.cat(df['居住地'],sep='-'*3)
df[['高矮','身高值']]=df['身高'].str.split(':',expand=True)
df
# 字符的删,换,匹配
# 去除空白字符
# strip,rstrip,lstrip
df['姓名'].str.len()
df['姓名']=df['姓名'].str.strip()
df['姓名']
df['姓名'].str.len()
# slice_replace函数使用给定字符,替换指定位置的字符,replace将指定位置的字符,替换为给定的字符串
df['身高'].str.replace(':','-')
df['身份证'].str.slice_replace(4,8,'*'*4)
# findall函数利用正则表达式,去字符串中匹配,返回查找结果的列表;extract,extractall函数接受正则表达式,抽取匹配的字符串
 
df['身高'].str.extract('([a-zA-Z]+)')
df['身高'].str.extractall('([a-zA-Z]+)')
df['身高'].str.extract('([a-zA-Z]+).*?([a-zA-Z]+)',expand=True)
# 其他方法
#repeat函数重复字符串几次
df['性别'].str.repeat(3)
#pad+side参数/center函数在字符串左边右边或左右两边添加给定字符
df['居住地'].str.pad(10,fillchar='*')
df['居住地'].str.pad(10,side='right',fillchar='*')
df['居住地'].str.center(10,fillchar='*')
#upper,lower函数用于将英文大小写转换
df['英文名'].str.upper()
df['英文名'].str.lower()
#计算字符串长度
df['性别'].str.len()
#获取指定位置字符串
df['姓名'].str.get(-1)
#计算给定字符在字符串中出现的次数
df['身份证'].str.count('4')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值