使用python/pandas将分类数据分组到其他分类数据上
我有一个数据框,其中一列存储特定任务的名称,另一列报告执行该任务的员工的id号。类似于:使用python/pandas将分类数据分组到其他分类数据上,python,pandas,grouping,cluster-computing,Python,Pandas,Grouping,Cluster Computing,我有一个数据框,其中一列存储特定任务的名称,另一列报告执行该任务的员工的id号。类似于: EMPLOYEE_ID TASK_NAME Employee1 Inspection Employee2 Inspection Employee3 Inspection Employee4 Inspection Employee5 Inspection Employee1 Change Employee2 Inspection Emplo
EMPLOYEE_ID TASK_NAME
Employee1 Inspection
Employee2 Inspection
Employee3 Inspection
Employee4 Inspection
Employee5 Inspection
Employee1 Change
Employee2 Inspection
Employee3 Change
Employee1 Change
Employee2 Change
我想知道我必须执行何种类型的命令/分析,以便对执行任务的员工进行分组/分组。换句话说,我想说的是,例如,“员工团队1”(包括员工1、员工2、员工3)执行了75%的所有检查和变更任务
任何帮助都会非常感激!
提前谢谢。我认为需要通过将字典
称为d1
与以下内容结合使用:
如果还需要分析另一列,请使用:
详细信息:
print (df['EMPLOYEE_ID'].map(d1))
0 g1
1 g1
2 g1
3 g2
4 g2
5 g1
6 g1
7 g1
8 g1
9 g1
Name: EMPLOYEE_ID, dtype: object
我不明白你到底在问什么。您能否重新表述并添加此给定数据的预期输出。IIUC,您可以创建一个列,将每个员工ID分配给一个员工组,然后使用
groupby
进行一些汇总统计。
df2 = (df.groupby(df['EMPLOYEE_ID'].map(d1))['TASK_NAME']
.value_counts(normalize=True)
.reset_index(name='norm'))
print (df2)
EMPLOYEE_ID TASK_NAME norm
0 g1 Change 0.5
1 g1 Inspection 0.5
2 g2 Inspection 1.0
print (df['EMPLOYEE_ID'].map(d1))
0 g1
1 g1
2 g1
3 g2
4 g2
5 g1
6 g1
7 g1
8 g1
9 g1
Name: EMPLOYEE_ID, dtype: object