我有一个数据集,其中一些值由 '\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未婚 -- 地方政府|白人'
'专业教授|美国\n未婚 -- 地方政府|白人'
您可以将正则表达式与 Pandas 拆分一起使用:
temp[[1,4]] = temp[1].str.split('\n+', expand = True)
如果至少有一个\n
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句