Pandas DataFrame:在我想要保留的内容之前和之后从字符串中删除不需要的部分

时间:2018-04-10 12:50:45

标签: python pandas

在我的data_cleaner数据集中,我有列(功能)'Project ID'。这标识了项目,它的格式为“code / YEAR / code”。我只对这个项目的一年感兴趣,所以我想在第一个之前摆脱一切/在第二个之后摆脱一切/。

Project ID  
AGPG/2013/1 
AGPG/2013/10
AGPG/2013/12
AGPG/2013/18
AGPG/2013/19

我最接近的是用

去掉之前的东西
data_cleaner['Project ID'] = data_cleaner['Project ID'].str.strip("AGPG")

(但在线下还有其他字母,所以这不可升级)

然后我做了

data_cleaner['Project ID'] = data_cleaner['Project ID'].str.strip('/')

这摆脱了第一位,我无法摆脱一年之后的情况。

Project ID  
2013/1  
2013/10
2013/12
2013/18
2013/19

我看了这篇文章,但没有帮助我Pandas DataFrame: remove unwanted parts from strings in a column

1 个答案:

答案 0 :(得分:2)

我认为需要split并选择第二个lists

data_cleaner['Project ID'] = data_cleaner['Project ID'].str.split('/').str[1]

extract正则表达式 - /(\d{4})/表示在4之间获取长度为//的数字:

data_cleaner['Project ID'] = data_cleaner['Project ID'].str.extract('/(\d{4})/', expand=False)

print (data_cleaner)
  Project ID
0       2013
1       2013
2       2013
3       2013
4       2013