如何在大熊猫中进行分组和转换

时间:2017-02-13 10:28:48

标签: python pandas

我有以下数据框

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

我会像下面那样改变

A B C
1 6 a
2 9 d

B表示组和C的总和是前一个df中的第一个元素

我怎样才能得到这个结果?

1 个答案:

答案 0 :(得分:2)

您似乎需要groupby aggregation - 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