簡體   English   中英

Pandas Dataframe中的嵌套嵌套列

[英]Nested Nested column in Pandas Dataframe

在pandas數據框中有一個嵌套的嵌套列,我在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'])

如何解決這個任務?

json_normalize()的選項幫助我解決了這種情況:

df_df = json_normalize(df['values'], record_path=['type'], meta=['Speed','endTime', 'level','lineId', 'loss', 'startTime'])

如果我正確理解了您的問題,則說明您正在使用multiindex作為數據框的列。 盡管我不明白您要嘗試做什么。

如果要訪問子列“詳細信息”,請嘗試以下操作:

df['type']['details']

我無法保證它將正常工作,因為無法使用您提供的數據重新創建數據框

也許這會有所幫助

https://pandas.pydata.org/pandas-docs/stable/advanced.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM