我有一个
形式的数据框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
答案 0 :(得分:1)
dept
和position
上的小组,计算位置,然后取消堆叠。
>>> 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