Python 按出现次数对数据帧中的项进行分组

Python 按出现次数对数据帧中的项进行分组,python,pandas,data-manipulation,Python,Pandas,Data Manipulation,我有以下数据集: x | y ------------- foo | 2 foo | 3 foo | 2 bar | 5 baz | 3 baz | 2 baz | 1 我想要一个汇总表,显示每个x值出现的次数,该次数下出现的x值的数量,以及这些x项的平均y值。像这样: # | count | avg_y ------------------- 1 | 1 | 5 2 | 0 | nan 3 | 2 | 2.1667 我通过

我有以下数据集:

x     | y
-------------
foo   | 2
foo   | 3
foo   | 2
bar   | 5
baz   | 3
baz   | 2
baz   | 1
我想要一个汇总表,显示每个
x
值出现的次数,该次数下出现的
x
值的数量,以及这些
x
项的平均
y
值。像这样:

#  | count | avg_y
-------------------
1  | 1     | 5
2  | 0     | nan
3  | 2     | 2.1667
我通过以下方式参与其中:

df.x.value_counts().value_counts().sort_index()
但是我不知道如何检索
平均值。

与以下一起使用:

详情:

print (df.groupby('x')['y'].agg(['size','mean']))
     size      mean
x                  
bar     1  5.000000
baz     3  2.000000
foo     3  2.333333

你能解释一下
a=a.reindex(范围(1,a.index.max()+1))
我需要所有的尺寸,但我只得到
1
3
。因此,对于add
2
我使用范围(1,4)
1,2,3
值的reindex;0
print (df.groupby('x')['y'].agg(['size','mean']))
     size      mean
x                  
bar     1  5.000000
baz     3  2.000000
foo     3  2.333333