【问题标题】: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...)告诉我男性和女性之间的比例。

希望你能帮助我!

【问题讨论】:

    标签: pandas dataframe group-by count


    【解决方案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
      

      【讨论】:

      • 非常感谢。两种解决方案都非常好:-)
      猜你喜欢
      • 2017-05-30
      • 2018-03-19
      • 2021-10-09
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多