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)