大Pandas:按列分组和商店

2024-04-20 07:47:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如何创建一个名为“Count”的新列,以便每行都包含相应行的已注册“Gender”计数。例如,在下面的示例中,有2名注册女性和1名注册男性,因此输入:

Gender  Registered
female  1   
female  1
female  0
male    1
male    0
male    0

输出应为:

Gender  Registered Count
female  1          2
female  1          2
female  0          2
male    1          1
male    0          1
male    0          1

我试过这样的方法,但没有成功:

df[df['Registered'] == 1].groupby('Gender')['Gender'].count()

Tags: 方法示例dfcountgendermalefemale计数
1条回答
网友
1楼 · 发布于 2024-04-20 07:47:47

使用transform

df.groupby('Gender').Registered.transform(lambda x : sum(x==1))
0    2
1    2
2    2
3    1
4    1
5    1
Name: Registered, dtype: int64
#df['count']=df.groupby('Gender').Registered.transform(lambda x : sum(x==1))

相关问题 更多 >