我正在尝试拆分具有特定分隔符的列,例如:“|”。
我的数据看起来像这样,我只有一个名为“ID”的列,其中包含我想根据分隔符“|”拆分的那些字符串
ID accountsummary | Name: Report Suite Totals
ID activity | Name: Activity
我尝试了两种不同的方法:
-
dataframe_elements_int[['ID', 'Name']] = \ dataframe_elements_int['ID'].str.rsplit('|', expand=True, n=1)
这会给我以下错误:ValueError: Columns must be same length as key
-
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)
