python - 从字符串列表中删除子字符串
问题描述
我的值列如下,
array(['Mar 2018', 'Jun 2018', 'Sep 2018', 'Dec 2018', 'Mar 2019',
'Jun 2019', 'Sep 2019', 'Dec 2019', 'Mar 2020', 'Jun 2020',
'Sep 2020', 'Dec 2020'], dtype=object)
从这个值我需要输出为,
array(['Mar'18', 'Jun'18', 'Sep'18', 'Dec'18', 'Mar'19',
'Jun'19', 'Sep'19', 'Dec'19', 'Mar'20', 'Jun'20',
'Sep'20', 'Dec'20'], dtype=object)
我试过以下代码,
df['Period'] = df['Period'].replace({'20','''})
但是这里没有转换,如何替换?
有什么帮助吗?
谢谢
解决方案
试试这个正则表达式:
df['Period'].str.replace(r"\s\d{2}(\d{2})", r"'\1", regex=True)
在替换部分中,\1
指的是捕获组,在这种情况下是最后两位数。
推荐阅读
- flutter - 如果 id 存在,则配置单元条件
- sql - 使用 Oracle SQL 将行作为列,反之亦然
- excel - 如何删除换行符?
- swift - 什么是 swift unkeyed 容器?
- kotlin - 用字符串中的多个字符替换多个字符
- flutter - BlocConsumer 访问多个提供者
- python - 关于联邦学习代码的问题:test_dir,user_dir = get_dataset(args) ValueError: too many values to unpack (expected 2)
- amazon-web-services - 在 AWS ElasticBeanstalk 中反应构建容器命令非常慢
- reactjs - Next.js 使用 SWR 和 axios
- c# - 在异常过滤器中从服务中捕获错误