2016-12-16 35 views
0

這由多個列是我希望我的決賽桌的鍵1和鍵2.獨特的組合我dataframe-集團使用多個鍵

Key1 Key2 Value1 Value2 
A Alpha 16 12345 
B Beta 12 123 
A Alpha 15 1456 
A Beta 14 12345 

我不得不俱樂部值1和值2的基礎結構如下:

Key1 Key2 Value1 Value2 
A Alpha {16,15} {12345,1456} 
B Beta {12}  {123} 
A Beta {14}  {12345} 

請建議一個代碼。非常感謝。編碼級別 - 8天。

回答

1

您必須編寫自己的自定義聚合函數。 agg通過不是分組列的每個系列並返回單個值。這裏我們使用set作爲聚合器。

df.groupby(['Key1', 'Key2']).agg(lambda x: set(x.values)) 

    Key1 Key2 Value1   Value2 
0 A Alpha {16, 15} {1456, 12345} 
1 A Beta  {14}  {12345} 
2 B Beta  {12}   {123} 
+0

謝謝,這一直奏效。不能投票(似乎沒有聲譽) –

+0

沒問題。隨時接受。點擊複選標記 –