熊猫:在单独的列中显示嵌套的字典中的值

我的字典是这样的熊猫:在单独的列中显示嵌套的字典中的值

[ 

{

"detail": {

"name": "boo",

"id": 1

},

"other": {

"gender": "m",

"no": "234"

}

},

{

"detail": {

"name": "hoo",

"id": 2

},

"other": {

"gender": "f",

"no": "456"

}

}

]

名单,我想在一个Excel文件的格式如下

detail   other 

name id gender no

boo 1 m 234

hoo 2 f 456

打印此数据总之,我想显示父键列下的列中的嵌套值。我如何使用熊猫来实现这个目标?

或者是我们可以达到这个目标的任何其他图书馆,因为熊猫是安静的。

回答:

使用pd.io.json.json_normalize -

df = pd.io.json.json_normalize(data) 

这导致列名看起来像这样 -

df.columns 

Index(['detail.id', 'detail.name', 'other.gender', 'other.no'], dtype='object')

我们需要将此转换为MultiIndex,使用df.columns.str.split -

i = list(map(tuple, df.columns.str.split('.'))) 

致电pd.MultiIndex.from_tuples并指定结果背 -

df.columns = pd.MultiIndex.from_tuples(i) 

df

detail other

id name gender no

0 1 boo m 234

1 2 hoo f 456

如果你的数据比较复杂,你可能想使列上额外的sort_index呼叫 -

df = df.sort_index(axis=1) 

以上是 熊猫:在单独的列中显示嵌套的字典中的值 的全部内容, 来源链接: utcz.com/qa/264521.html

回到顶部