【发布时间】:2018-11-01 04:42:32
【问题描述】:
在熊猫数据框中有一个嵌套的嵌套列,我在 json_normalize 请求后收到,如下所示:
{
'Speed':352,
'type':[
{
'details':'change\n',
'id':'3129f48c-23a6-49bd-9854',
'machine':'logs',
'Cause':{
'code':'051',
'description':'Error',
'id':'41827d41-75c5-4c88-9ec3',
'reason':'Error'
}
}
],
'endTime':1522844263021,
'line':'73c2f337-46fc-415c-a24f',
'level':1,
'lineId':'9b6a5624-4add-4fce-9de3',
'loss':0,
'startTime':1522842642200
}
如何分列?我尝试使用 lambda 方法,但它给了我错误'list index out of range',而且我不知道如何处理第二个嵌套:
df['details'] = df.loc[:, 'type'].apply(lambda x: x[0]['details'])
如何解决这个任务?
【问题讨论】:
-
试试
df['details'] = df.loc[:, 'type'].apply(lambda x: x['details']) -
列表索引必须是整数或切片,而不是 str
-
对.. 我的数据框一定与您的不同。如果您使用
df.head()编辑您的问题以包含您的数据框外观的快照,这将很有帮助
标签: python json pandas lambda nested