将 python 分隔项列表转换为 pandas 数据框

我有一个这样的列表,其中项目由“:”分隔。


   x=['john:42:engineer',

      'michael:29:doctor']

有没有办法通过定义“名称”、“年龄”和“职业”列来将其更改为如下所示的数据框?


    Name    Age Occupation

0   john    42  engineer

1   michael 29  doctor


HUH函数
浏览 130回答 3
3回答

慕容708150

你可以只使用split:pd.DataFrame([y.split(':') for y in x], columns = ['Name','Age', 'Occupation'])输出:      Name Age Occupation0     john  42   engineer1  michael  29     doctor

守着星空守着你

我会做df = pd.Series(x).str.split(':',expand=True)df.columns = ['Name','Age', 'Occupation']dfOut[172]:       Name Age Occupation0     john  42   engineer1  michael  29     doctor

忽然笑

不确定这是最好的方法,但是......x = ['john:42:engineer', 'michael:29:doctor']x = [i.split(':') for i in x]pd.DataFrame({'name': [i[0] for i in x], 'age': [i[2] for i in x], 'occupation': [i[1] for i in x]})Output:    name    age occupation0   john    42  engineer1   michael 29  doctor
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python