如何使用pandas获取列中特定值的计数

时间:2016-02-16 04:10:06

标签: python pandas

我有一个

形式的数据框
dept    name    position             
x        a       Normal Employee
x        b       Normal Employee
y        c       Experienced Employee
y        d       Experienced Employee

如何使用pandas获得普通员工和有经验员工的数量

结果表格希望

dept  NormalEmployee  ExperiencedEmployee
 x       2                  0
 y       0                  2

1 个答案:

答案 0 :(得分:1)

deptposition上的小组,计算位置,然后取消堆叠。

>>> df.groupby(['dept', 'position']).position.count().unstack('position').fillna(0)
position  Experienced Employee  Normal Employee
dept                                           
x                            0                2
y                            2                0

这也可以通过数据透视表来实现:

>>> df.pivot_table(index='dept', columns='position', values='name', aggfunc='count').fillna(0)
position  Experienced Employee  Normal Employee
dept                                           
x                            0                2
y                            2                0