I have a dataframe:
id info
1 Name: John Age: 12 Sex: Male
2 Name: Sara Age: 22 Sex: Female
3 Name: Mac Donald Age: 32 Sex: Male
我希望将信息列分成3列,以便我获得最终输出结果:
id Name Age Sex
1 John 12 Male
2 Sara 22 Female
3 Mac Donald 32 Male
我尝试使用 pandas 的 split 函数。
df[['Name','Age','Sex']] = df.info.split(['Name'])
我可能需要多次执行此操作才能获得所需的结果。
是否有更好的方法来实现这个呢?
PS: info列还包含NaN
值。
df['Name'].to_list()
,你会得到:['John ', 'Sara ', 'Mac Donald ']
一个简单的str.strip()
可以修复这个问题,因为正则表达式会变得更加强大。 - David Erickson