Pandas 数组中的行
我有下面的字典,我想把它转换成熊猫。此目录具有嵌套列表,可以为一个节点显示,但不能为另一个节点显示Pandas 数组中的行,pandas,Pandas,我有下面的字典,我想把它转换成熊猫。此目录具有嵌套列表,可以为一个节点显示,但不能为另一个节点显示 dis={"companies": [{"object_id": 123, "name": "Abd ", "contact_name": ["xxxx",
dis={"companies": [{"object_id": 123,
"name": "Abd ",
"contact_name": ["xxxx",
"yyyy"],
"contact_id":[1234,
33455]
},
{"object_id": 654,
"name": "DDSPP"},
{"object_id": 987,
"name": "CCD"}
]}
作为
我怎样才能做到这一点
我正试着做像这样的事
abc = pd.DataFrame(dis).set_index['object_id','contact_name']
但是它说
“method”对象不可下标此链接中的@jezrael answer启发了这一点: 使用: 具有常规索引的输出:
name object_id contact_id contact_name
0 Abd 123 1234 xxxx
1 Abd 123 33455 yyyy
2 DDSPP 654 nan NaN
3 CCD 987 nan NaN
这是您一直在寻找的内容吗?如果您只有一列需要转换,那么您可以更简短地使用一些内容,例如:
df = pd.DataFrame(d['companies'])
d = df.loc[0].apply(pd.Series)
d[1].fillna(d[0], inplace=True)
df.drop([0],0).append(d.T)
否则,如果您需要使用一个以上的原始数据进行此操作,您可以使用它,但必须对其进行修改。到目前为止您尝试了什么?请检查提供的答案。我可以帮忙。
name object_id contact_id contact_name
0 Abd 123 1234 xxxx
1 Abd 123 33455 yyyy
2 DDSPP 654 nan NaN
3 CCD 987 nan NaN
df = pd.DataFrame(d['companies'])
d = df.loc[0].apply(pd.Series)
d[1].fillna(d[0], inplace=True)
df.drop([0],0).append(d.T)