[英]Pandas DataFrame: remove unwanted parts from strings before and after what I want to keep
在我的data_cleaner数据集中,我有列(特征)'项目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:从列中的字符串中删除不需要的部分
我认为需要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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.