从 Pandas Groupby 获取正确的计数
Getting correct counts from Pandas Groupby
我有一个 Pandas DataFrame,其中包含以下内容:
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)或再次得到相同的数据框。帮助!我分组不正确吗?我找了一段时间类似的问题,我的代码与那里的答案相匹配。
我正在使用 Python 3 和 jupyter notebook。
用
指出count
的一列
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
我有一个 Pandas DataFrame,其中包含以下内容:
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)或再次得到相同的数据框。帮助!我分组不正确吗?我找了一段时间类似的问题,我的代码与那里的答案相匹配。
我正在使用 Python 3 和 jupyter notebook。
用
指出count
的一列
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