python如何判断字符串当中是否包含字符

蜗牛 互联网技术资讯 2022-06-01 42 0

这篇文章主要讲解了“python如何判断字符串当中是否包含字符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何判断字符串当中是否包含字符”吧!

有一个ssqdatav2数据,要找到其中的深圳,并且替换成圳。

因为收集到的数据出现了错误,本来只有省份简写的地方却出现了深圳。

python如何判断字符串当中是否包含字符  python 第1张

如何找到DF中包含深圳的数据?

cond=ssqdatav2['first'].str.contains('深圳')
ssqdatav2.loc[cond]

python如何判断字符串当中是否包含字符  python 第2张

此时就找到first当中包含深圳的数据。

1、在first当中找到汉字

# 为分解firstprize定义函数
def fpp(x):
    if len(x)<=2:  # 判断是否只有汉字,还是也有数字
        return "待定" # 没有汉字的用待定表示
    else: # 使用正则表达式获取中文
        pattern="[\u4e00-\u9fa5]"  # 汉字专用字符ASCII区间
        pat=re.compile(pattern)
        return ','.join(pat.findall(x)) # 使用逗号作为每个省份的分隔符
#使用fp() 
ssqdatav2['fpprovince']=ssqdatav2['first'].apply(lambda x:fpp(x))
ssqdatav2.head()

python如何判断字符串当中是否包含字符  python 第3张

将每个省份单独形成1列:

fpnames=['p01','p02','p03','p04','p05'] 
ssqdatav3[fpnames]=ssqdatav3['fpprovince'].str.split(',',expand=True)
ssqdatav3

去除掉None值,是None的地方变成空值:

# 逐个分割
ssqdatav3['p001']=ssqdatav3['fpprovince'].apply(lambda x:x if x.count(',')==0 else x.split(',')[0])
ssqdatav3['p002']=ssqdatav3['fpprovince'].apply(lambda x:x.split(',')[1] if x.count(',')>=1 else '')
ssqdatav3['p003']=ssqdatav3['fpprovince'].apply(lambda x:x.split(',')[2] if x.count(',')>=2 else '')
ssqdatav3['p004']=ssqdatav3['fpprovince'].apply(lambda x:x.split(',')[3] if x.count(',')>=3 else '')
ssqdatav3['p005']=ssqdatav3['fpprovince'].apply(lambda x:x.split(',')[4] if x.count(',')>=4 else '')

ssqdatav3.to_excel('ssqdatav3p05.xlsx',index=False)
ssqdatav3.head()

python如何判断字符串当中是否包含字符  python 第4张

# 让双色球的期号ID成为订单号,7个号码都有对应的订单号,即每个期号都有7个订单号且分成不同的行
import numpy as np 
ssqdatav3['province2']=ssqdatav3['fpprovince'].apply(lambda x:x.split(','))
ssqdatav3

province2=ssqdatav3['province2'].to_list()
province2
rs=[len(r) for r in province2]
rs 
a=np.repeat(ssqdatav3['id'],rs)
a 
ssqdataprov=pd.DataFrame(np.column_stack((a,np.concatenate(province2))),columns=['ID','PROVINCE'])


# ssqdataprov=ssqdataprov[(ssqdataprov['PROVINCE']!='深')] # 等价
# ssqdataprov=ssqdataprov[~(ssqdataprov['PROVINCE']=='深')] # 等价
ssqdataprov=ssqdataprov[~(ssqdataprov['PROVINCE'].str.contains('深'))]

ssqdataprov

python如何判断字符串当中是否包含字符  python 第5张

按照每个字段来划分,并且删去含有深的字段,这样就只保留圳字了

感谢各位的阅读,以上就是“python如何判断字符串当中是否包含字符”的内容了,经过本文的学习后,相信大家对python如何判断字符串当中是否包含字符这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是蜗牛博客,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论