熊猫数据框显示按分组依据和汇总计数

时间:2019-02-19 08:02:08

标签: python-3.x pandas dataframe

我有这个数据

ID  Value1  Value2  Type    Type2
1   3          1    A       X
2   2          2    A       X
3   5          3    B       Y
4   2          4    B       Z
5   6          8    C       Z
6   7          9    C       Z
7   8          0    C       L
8   3          2    D       M
9   4          3    D       M
10  6          5    D       M
11  8          7    D       M

现在我能够使用此代码生成此输出

pandabook.groupby(['Type','Type2'],as_index=False)['Value1', 'Value2'].agg({'Value1': 'sum','Value2': 'sum'})


ID  Value 1 Value2  Type    Type2
1   5          3    A         X
2   5          3    B         Y
3   2          5    B         Z
4   13        17    C         Z
5   8          0    C         L
6   21        17    D         M

我也想显示汇总计数,如本例所示

enter image description here

我如何实现此输出?

1 个答案:

答案 0 :(得分:1)

使用size函数向字典添加新值,删除as_index=False以防止:

  

ValueError:无法插入类型,已经存在

最后rename后面加上reset_index

df = pandabook.groupby(['Type','Type2']).agg({'Value1': 'sum','Value2': 'sum', 'Type':'size'})
df = df.rename(columns={'Type':'Count'}).reset_index()
print (df)
  Type Type2  Value1  Value2  Count
0    A     X       5       3      2
1    B     Y       5       3      1
2    B     Z       2       4      1
3    C     L       8       0      1
4    C     Z      13      17      2
5    D     M      21      17      4