Mor*_*ive 8 dataframe python-3.x pandas
我的数据结构是:
ds = [{
"name": "groupA",
"subGroups": [123,456]
},
{
"name": "groupB",
"subGroups": ['aaa', 'bbb' , 'ccc']
}]
Run Code Online (Sandbox Code Playgroud)
这给出了以下数据框
df = pd.DataFrame(ds)
name subGroups
0 groupA [123, 456]
1 groupB [aaa, bbb, ccc]
Run Code Online (Sandbox Code Playgroud)
我想要:
name subGroupsFlattend
0 groupA 123
1 groupA 456
2 groupB aaa
3 groupB bbb
4 groupB ccc
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以通过以下方式修复您的输出:
pd.DataFrame({'name':df.name.repeat(df.subGroups.str.len()),'subGroup':df.subGroups.sum()})
Out[364]:
name subGroup
0 groupA 123
0 groupA 456
1 groupB aaa
1 groupB bbb
1 groupB ccc
Run Code Online (Sandbox Code Playgroud)