在我的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
答案 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