如何总结相似的熊猫行

时间:2019-03-13 15:23:10

标签: python pandas sum

如何对data_in中的熊猫行求和,以获得类似于data_out的行?

data_in = [
    { 'col-a':'a1', 'col-b':'b1', 'col-z':'z1', 'value':1},
    { 'col-a':'a1', 'col-b':'b1', 'col-z':'z1', 'value':2},
    { 'col-a':'a2', 'col-b':'b2', 'col-z':'z2', 'value':10},
    { 'col-a':'a2', 'col-b':'b2', 'col-z':'z2', 'value':20}
]

df = pd.DataFrame(data_in)

# which operation to apply on df to get rows like in data_out?
# ...

data_out = [
    { 'col-a':'a1', 'col-b':'b1', 'col-z':'z1', 'value':3},
    { 'col-a':'a2', 'col-b':'b2', 'col-z':'z2', 'value':30}
]

2 个答案:

答案 0 :(得分:2)

这是一个汇总问题。您可以在熊猫中使用.groupby,并且在汇总时可以使用.value.sum()

获得这些组的总和。
df_out = df.groupby(['col-a', 'col-b', 'col-z']).value.sum().reset_index()
print(df_out)

  col-a col-b col-z  value
0    a1    b1    z1      3
1    a2    b2    z2     30

答案 1 :(得分:1)

这是您要查找的行:

uniq -c