熊猫:在单独的列中显示嵌套的字典中的值
我的字典是这样的熊猫:在单独的列中显示嵌套的字典中的值
[ {
"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