数据框图片:
我在一个数据框架中有一个名为contracting的列和另一个名为contractor的列。
例如,我需要将column contractor分为两列:一列包含括号内的会计编号,另一列包含所有其他部分(描述)。
例子:
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位。
最佳答案
据我所知,这是一个可能的解决方案,
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']))
希望这有帮助。
关于python - 如何从括号内的字符串中提取字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53250089/