所有组组合的值计数

时间:2016-07-20 03:43:07

标签: python pandas counter

我有一个包含多个组列和值列的数据框。

   a  b  val
0  A  C  1
1  A  D  1
2  A  D  1
3  A  D  2
4  B  E  0

对于任何一个组,例如a==Ab==C我可以在系列切片上执行value_counts。如何以类似于:

的数据框格式获取组列的所有可能组合的值计数
  a  b val counts
0 A  C 1   1
1 A  D 1   2
2 A  D 2   1
2 B  E 0   1

1 个答案:

答案 0 :(得分:1)

是你想要的吗?

In [47]: df.groupby(['a','b','val']).size().reset_index()
Out[47]:
   a  b  val  0
0  A  C    1  1
1  A  D    1  2
2  A  D    2  1
3  B  E    0  1

还是这个?

In [43]: df['counts'] = df.groupby(['a','b'])['val'].transform('size')

In [44]: df
Out[44]:
   a  b  val  counts
0  A  C    1       1
1  A  D    1       3
2  A  D    1       3
3  A  D    2       3
4  B  E    0       1