计算熊猫列中每个唯一值的数量[重复]
Posted
技术标签:
【中文标题】计算熊猫列中每个唯一值的数量[重复]【英文标题】:Count number of each unique value in pandas column [duplicate] 【发布时间】:2021-08-03 18:11:47 【问题描述】:我有一个这样的数据框:
df = pd.DataFrame(index=[1,2,3,4,5,6,7,8,9,10,11,12])
df['group'] = [1,1,1,1,1,1,2,2,2,2,2,2]
df['Sex'] = ['male', 'female','male', 'male','male', 'female','male', 'male','male', 'female','female', 'female',]
df
group Sex
1 1 male
2 1 female
3 1 male
4 1 male
5 1 male
6 1 female
7 2 male
8 2 male
9 2 male
10 2 female
11 2 female
12 2 female
每组有 6 人。有些是男性,有些是女性。我想得到一个数据框,它计算group
中每个组的男性人数和女性人数。
例如:
第 1 组 --> 4 男,2 女 第 2 组 --> 3 男 3 女结果如何呈现的细节对我来说并不重要。 我尝试使用 groupby,但没有函数(count、sum、mean、nunique...)告诉我男性和女性之间的比例。
希望你能帮助我!
【问题讨论】:
【参考方案1】:使用groupby()
方法、value_counts()
方法和unstack()
方法:
result=df.groupby('group')['Sex'].value_counts().unstack()
现在如果你打印result
,你会得到:
Sex female male
group
1 2 4
2 3 3
【讨论】:
【参考方案2】:使用crosstab:
pd.crosstab(df['group'], df['Sex'])
Sex female male
group
1 2 4
2 3 3
【讨论】:
非常感谢。两种解决方案都非常好:-)以上是关于计算熊猫列中每个唯一值的数量[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用熊猫从另一个数据框 B 的列中删除包含特定数量值的数据框 A 中的行?