如何从括号内的字符串中提取字符?

数据框图片:


我在 DataFrame 中有一个名为 Contracting 的列和另一个名为 Contracting 的列。


例如,我需要将列承包商分成 2 个新列:一个列包含括号内的财政编号,另一列包含所有其余部分(描述)。


例子:

http://img2.mukewang.com/6117bead0001865a10430459.jpg

Contractor: Meo(504615947)

我需要它变成:


Contractor_Name: Meo and Contractor_Number:504615947

我试图这样做:


proc_2013[['contractor_description', 'contractor_NIF']]= pd.DataFrame(proc_2013['contractor'].str.split(('('),1).tolist())


proc2013['contractor_NIF'] = proc2013.contractor_NIF.str.extract('(\d+)')  

问题1:


我也可以在括号内有一个名称描述,后跟我试图提取的数字。


问题2:


有时,如果承包商来自外国,它在财政编号的开头有一个字母(不仅仅是我最初假设的数字,使用我的第二行代码)。


所有财政号码都有 9 位数字。


侃侃无极
浏览 133回答 2
2回答

泛舟湖上清波郎朗

据我了解你的问题,这可能是一个可能的解决方案,df['contractor_name']=list(map(lambda x : x.split('(')[0],df['con'])) df['contractor_number']=list(map(lambda x : x.split('(')[-1][-10:-1],df['contractor']))希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python