在日常工作中对于资源进行管理分配时经常需要对数值型数据与文本型数据同时进行排序,本文介绍pyhon与excel如何实现操作,解决问题。
数据问题背景:
在电销作业中,经常需要不定周期进行分配资源给到坐席,资源分配时需要考虑金额的平均性,所以采用S型分案操作。
如下图,有三个字段,案件ID是主键,我们需要根据案件金额与小组对案件进行资源分配。首先我们需要明确,每个小组的案件数量不一样,小组的人数不一样。所以我们需要按照小组与案件金额进行排序,然后填充坐席的编号,这样就可以实现S型分案操作。
excel操作
选中全部数据,点击开始-->排序和筛选-->自定义排序-->填写主要关键字:小组,自定义排序。
添加条件,案件金额,降序排列
根据每个小组的人力编号,分批次填充。例如,HF08组的人力是3人,可以填入1,2,3后,选中1,2,3,然后鼠标放置单元格右下角,左键双击后选择复制复制单元格即可。这样对于资源的平均分配就完成啦。
Python操作
#将小组列设置成category数据类型df1["小组"]=df1["小组"].astype("category")x=['HF08','HF07','HF06','HF05','HF04','HF03','HF02','HF01']#reorder_categories表示重新排序在X序列中指定的类别df1['小组'].cat.reorder_categories(x,inplace=True)df1.sort_values(by=['小组',"案件金额"],inplace=True,ascending=[True,False])df1