2017-06-12 79 views
2

我有一些壓縮/彙總數據,如如何解壓/解聚python/pandas中的分層數據?

Incident_ID Case_ID_1 Name_1 Case_ID_2 Name_2 Common 
1 1.1 Peter 1.2 Sally Apple 
2 2.1 Sam 2.2 Juliet Banana 

進入這個

Incident_ID Case_ID Name Common 
1 1.1 Peter Apple 
1 1.2 Sally Apple 
2 1.1 Sam Banana 
2 2.1 Juliet Banana 

我知道如何聚合大熊貓數據,但我找不到任何例子在線,做和解聚集就我所知,這樣的數據是這樣的。

+0

您可能要檢查'pd.melt' –

+0

謝謝,我會研究它。 – KubiK888

回答

1

讓我們嘗試:

df1 = df.set_index(['Incident_ID','Common']) 

df_case = df1[['Case_ID_1','Case_ID_2']].stack().reset_index(level=2,drop=True).rename('Case') 

df_name = df1[['Name_1','Name_2']].stack().reset_index(level=2,drop=True).rename('Name') 

df_out = pd.concat([df_case,df_name], axis=1).reset_index() 

輸出:

Incident_ID Common Case_ID Name 
0   1 Apple  1.1 Peter 
1   1 Apple  1.2 Sally 
2   2 Banana  2.1  Sam 
3   2 Banana  2.2 Juliet