2017-02-13 98 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