Python 对数据帧中分组的行求和
我有一个数据帧:Python 对数据帧中分组的行求和,python,pandas,dataframe,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
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'])
但是,如何计算每个分组中的内容呢?您似乎需要:
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