python 判断字符串当中是否包含字符(str.contain)

作者:温欣' 时间:2022-11-10 04:21:10 

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

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

python 判断字符串当中是否包含字符(str.contain)

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

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

python 判断字符串当中是否包含字符(str.contain)

此时就找到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 判断字符串当中是否包含字符(str.contain)

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

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

python 判断字符串当中是否包含字符(str.contain)

去除掉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 判断字符串当中是否包含字符(str.contain)

# 让双色球的期号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 判断字符串当中是否包含字符(str.contain)

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

来源:https://blog.csdn.net/wxfighting/article/details/124212433

标签:python,字符串,包含字符
0
投稿

猜你喜欢

  • Python函数进阶与文件操作详情

    2023-09-12 17:24:33
  • 如何限制上传文件的大小?

    2010-06-09 18:47:00
  • mysql复制中临时表的运用技巧

    2024-01-20 10:51:49
  • 百度首席设计师 用户体验部总监郭宇演讲

    2008-09-03 12:41:00
  • vscode终端输出中文乱码问题解决图文教程

    2022-08-15 14:18:05
  • javascript验证上传文件的类型限制必须为某些格式

    2024-04-18 09:36:34
  • python通过ElementTree操作XML

    2021-01-09 09:12:20
  • 浅谈web分析

    2008-12-02 15:52:00
  • Python实现微信表情包炸群功能

    2022-08-17 07:28:14
  • ASP.NET在IIS一些问题经验总结

    2007-08-07 15:42:00
  • Python实现计算文件夹下.h和.cpp文件的总行数

    2022-09-20 00:54:51
  • 解读ASP.NET 5 & MVC6系列教程(6):Middleware详解

    2023-07-23 22:27:34
  • Pytorch中的backward()多个loss函数用法

    2023-11-12 00:19:21
  • PyTorch 多GPU下模型的保存与加载(踩坑笔记)

    2023-07-20 15:39:18
  • 用python批量移动文件

    2022-12-21 10:48:43
  • matplotlib绘图实例演示标记路径

    2021-10-18 08:51:04
  • 基于PHP实现用户注册登录功能

    2024-04-30 08:48:35
  • Python实现捕获异常发生的文件和具体行数

    2023-12-11 18:14:52
  • VueJs单页应用实现微信网页授权及微信分享功能示例

    2024-04-16 09:35:50
  • Python求正态分布曲线下面积实例

    2021-01-28 18:20:07
  • asp之家 网络编程 m.aspxhome.com