对数据帧中的行进行求和

时间:2017-02-16 14:47:37

标签: python pandas dataframe

我有一个数据框:

  ID        Name     L    Prob
  044FB2AE  X        L0   1.0
  044FB2AE  X        L1   0.4
  044FB2AE  X        L1   0.3
  044FB2AE  X        L2   0.6 
  044FB2AE  X        L2   0.3
  044F3333  Y        L0   0.1
  044F3333  Y        L0   0.4
  044F3333  Y        L1   0.3
  044F3333  Y        L2   0.6 
  044F3333  Y        L2   0.4

我想返回一个数据框,用于计算每个级别L中每个名字的概率总和。

因此,对于上述结果,结果应该是这样的数据帧:

  ID        Name     L    Prob
  044FB2AE  X        L0   1.0
  044FB2AE  X        L1   0.7
  044FB2AE  X        L2   0.9
  044F3333  Y        L0   0.5
  044F3333  Y        L1   0.3
  044F3333  Y        L2   1.0

我知道我需要根据姓名和L对其进行分组,

df.groupby(['Name','L'])

但是,我如何总结每个分组中的内容?

1 个答案:

答案 0 :(得分:1)

您似乎需要groupbyGroupBy.sum

df = df.groupby(['ID','Name','L'], as_index=False, sort=False).Prob.sum()
print (df)
         ID Name   L  Prob
0  044FB2AE    X  L0   1.0
1  044FB2AE    X  L1   0.7
2  044FB2AE    X  L2   0.9
3  044F3333    Y  L0   0.5
4  044F3333    Y  L1   0.3
5  044F3333    Y  L2   1.0
df = df.groupby(['Name','L'], as_index=False, sort=False).Prob.sum()
print (df)
  Name   L  Prob
0    X  L0   1.0
1    X  L1   0.7
2    X  L2   0.9
3    Y  L0   0.5
4    Y  L1   0.3
5    Y  L2   1.0