Python 从Pandas Groupby获取正确的计数

Python 从Pandas Groupby获取正确的计数,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个包含以下内容的熊猫数据框: Name | Attended Smith | Y Smith | Y Smith | N Adams | N Adams | Y Morgan | Y Morgan | Y 我想计算每个名字的Y和N的数量。 因此,输出将是: Name | Attended| Count Smith | Y | 2 | N | 1 Adams | Y | 1 | N | 1 Morgan

我有一个包含以下内容的熊猫数据框:

Name   | Attended
Smith  | Y
Smith  | Y
Smith  | N
Adams  | N
Adams  | Y
Morgan | Y
Morgan | Y
我想计算每个名字的Y和N的数量。 因此,输出将是:

Name  | Attended| Count
Smith | Y       | 2
      | N       | 1
Adams | Y       | 1
      | N       | 1
Morgan| Y       | 3
      | N       | 0
我尝试了df.groupby([“Name”,“Attended”]).count()及其变体,但由于某些原因,我没有得到正确的输出。我要么得到名字,要么得到计数(Smith 3,Adam 2,Morgan 3),要么再次得到相同的数据帧。救命啊!我分组的方式不对吗?我在类似的问题上找了一段时间,我的代码和那里的答案相匹配


我正在使用Python3和jupyter笔记本。

指出一列,用它来
计数

df.groupby(["Name ","Attended"])["Attended"].count().to_frame(name='Count')
Out[842]: 
                   Count
Name     Attended       
Adams    N             1
         Y             1
Morgan   Y             2
Smith    N             1
         Y             2

指出要计数的列

df.groupby(["Name ","Attended"])["Attended"].count().to_frame(name='Count')
Out[842]: 
                   Count
Name     Attended       
Adams    N             1
         Y             1
Morgan   Y             2
Smith    N             1
         Y             2

或者获取每个组的大小

df = df.groupby(['Name', 'Attended']).size().to_frame(name = 'Count')


                Count
Name    Attended    
Adams   N       1
        Y       1
Morgan  Y       2
Smith   N       1
        Y       2

或者获取每个组的大小

df = df.groupby(['Name', 'Attended']).size().to_frame(name = 'Count')


                Count
Name    Attended    
Adams   N       1
        Y       1
Morgan  Y       2
Smith   N       1
        Y       2

谢谢后续问题:我还想在另一列上做一个汇总,也按姓名和出席人数分组。有没有一种方法可以同时做到这两个方面?也就是说,如果我有一个名为“积分”的专栏,我还想总结每个人->每个Y和每个N的积分。@L.Chu你可以检查
agg
谢谢!后续问题:我还想在另一列上做一个汇总,也按姓名和出席人数分组。有没有一种方法可以同时做到这两个方面?也就是说,如果我有一个名为“积分”的栏,我还想总结每个人->每个Y和每个N的积分。@L.Chu你可以检查
agg