分隔符分割符

问题描述 投票:0回答:1

我有一个数据集,其中某些值由'\ n'分隔,而某些值由'\ n \ n'分隔。我已经写了一些分别适用于每种情况的代码,但我想知道是否有一种方法可以同时包含这两个定界符,以便将它们分隔为“ \ n”还是“ \ n \ n”。在当前设置下,它引发错误“列必须与键的长度相同”。

代码:

temp = result['personal_info'].str.replace(' -- ', '|').str.split('|', expand = True)
temp[[1,4]] = temp[1].str.split('\n', expand = True)
temp = temp.rename(columns={0: "occupation", 1: "country", 2: "employer_type", 3: "race", 4: "relationship_status"})
final_df = result
final_df = pd.concat([final_df, temp], axis=1, sort=False)
final_df = final_df.drop('personal_info', axis=1)

此代码适用于'\ n',如果我将其更改为'\ n \ n',则适用于'\ n \ n'。

样本输入:

'专业教授|美国\ n \ n未婚-地方政府|白人'

'专业教授|美国\未婚-地方政府|白人'

python numpy dataframe delimiter
1个回答
2
投票

您可以将正则表达式与Pandas分开使用:

temp[[1,4]] = temp[1].str.split('\n+', expand = True)

如果至少有一个\n,则会分割。

© www.soinside.com 2019 - 2024. All rights reserved.