首页 > 解决方案 > 从字符串列表中删除子字符串

问题描述

我的值列如下,

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','''})

但是这里没有转换,如何替换?

有什么帮助吗?

谢谢

标签: pythonpandassubstring

解决方案


试试这个正则表达式

df['Period'].str.replace(r"\s\d{2}(\d{2})", r"'\1", regex=True)

在替换部分中,\1指的是捕获组,在这种情况下是最后两位数。


推荐阅读