Skip to main content
 首页 » 编程设计

python之使用正则表达式拆分数据框列

2024年09月03日35powertoolsteam

我正在尝试拆分具有特定分隔符的列,例如:“|”。

我的数据看起来像这样,我只有一个名为“ID”的列,其中包含我想根据分隔符“|”拆分的那些字符串

ID accountsummary            | Name: Report Suite Totals  
 
ID activity                  | Name: Activity  

我尝试了两种不同的方法:

  1. dataframe_elements_int[['ID', 'Name']] = \ 
        dataframe_elements_int['ID'].str.rsplit('|', expand=True, n=1) 
    

这会给我以下错误:ValueError: Columns must be same length as key

  1. dataframe_final[['Id','Name']] = \ 
        dataframe_elements_int['ID'].str.extract('(\w*)\|(\w*)', expand=True) 
    

这会给我以下错误:ValueError: pattern contains no capture groups

请您参考如下方法:

你可以试试

df=dataframe_elements_int 
#split the column 
df['new_ID'], df['Name'] = df['ID'].str.split('|').str 
#filtering the Name and ID  
df['Name']=df['Name'].str.extract(r'((?<=Name:).*$)', expand=True) 
df['new_ID']=df['new_ID'].str.extract(r'((?<=ID).*$)',expand=True)