2016-08-03 195 views
1

我的數據框看起來像這樣蟒蛇大熊貓聚集

exams = pd.DataFrame({'id1':['1x', '1x','2x','3x','3x'], 'id2':['a','a','b','a','a'],'data':[1,2,3,4,5]}) 

    id1 id2 data 
0 1x  a  1 
1 1x  a  2 
2 2x  b  3 
3 3x  a  4 
4 3x  a  5 

後重新連接柱然後我把它彙總到

exams_agg = exams.groupby('id1').agg('mean') 

然後exams_agg看起來像

 data 
id1 
1x  1.5 
2x  3 
3x  4.5 

我想重新安裝id2列到exams_agg。所以我在想創建一個查找表

lookup = exams[['id1', 'id2']] 
exams_agg = pd.merge(exams_agg, lookup, left_index=True, right_on='id1') 

但由於lookup包含重複的成對的ID,exams_agg包含重複爲好。什麼是創造

 data id2 
id1 
1x  1.5  a 
2x  3  b 
3x  4.5  a 

回答

2

如果一個獨特id1總是對應於同一id2一個很好的方式,你可以簡單地在你的groupby添加id2

In [5]: df.groupby(['id1', 'id2']).agg('mean') 
Out[5]: 
     data 
id1 id2  
1x a  1.5 
2x b  3.0 
3x a  4.5 
+0

他們。非常感謝。我應該考慮一下。 – nos