2017-02-13 108 views
2

我具有低于如何GROUPBY和熊猫

A B C 
1 1 a 
1 2 b  
1 3 c 
2 4 d 
2 5 e 

数据帧变换我ILKE像变换下面

A B C 
1 6 a 
2 9 d 

B表示基团的总和,C是在以前的DF的第一要素

我该如何得到这个结果?

回答

2

看来你需要groupbyaggregation - sumfirst

df = df.groupby('A').agg({'B':'sum','C':'first'}).reset_index().reindex(columns=df.columns) 
print (df) 
    A B C 
0 1 6 a 
1 2 9 d 

谢谢John Galt另一种解决方案:

df = df.groupby('A', as_index=False).agg({'B':'sum','C':'first'}).reindex(columns=df.columns) 
print (df) 
    A B C 
0 1 6 a 
1 2 9 d 
+1

'df.groupby( 'A',as_index = FALSE)。 AGG({ 'B': '总和', 'C': '第一'})'? – Zero