在 pandas 中将许多职称彼此分开
Separating lots of job titles from each other in pandas
我正在参与 Developers 2020 调查,我想以某种方式概括如下所示的“DevType”列
Developer, full-stack 4424
Developer, back-end 3086
Developer, back-end;Developer, front-end;Developer, full-stack 2227
Developer, back-end;Developer, full-stack 1476
Developer, front-end 1401
Developer, mobile 1251
Developer, front-end;Developer, full-stack 830
Developer, back-end;Developer, desktop or enterprise applications;Developer, front-end;Developer, full-stack 813
Developer, back-end;Developer, desktop or enterprise applications 650
Developer, desktop or enterprise applications 606
Name: DevType, dtype: int64.
我想先对其进行分析,所以我想将这些标题汇总为 shorter/compact 名称,以便它们可以在图表上显示。然后,我希望以某种方式为该列分配数字(我想我会做 dfuk["#DevType"]=dfuk["DevType"].apply(lambda x: len(str(x).split(';' ))) ) 但它不是很好的解决方案。
请帮我找到解决这些问题的办法,提前谢谢你!
我建议:
- 完全删除“开发人员”一词,因为您在这里处理的域是毫无疑问的;
- 取每个单词的第一个字母('fs'为'full-stack')如果剩下的名字还是太长;
- 使用pd.Categorical为每种类型的开发分配一个编号。
请参阅此 post 最后一点:
我正在参与 Developers 2020 调查,我想以某种方式概括如下所示的“DevType”列
Developer, full-stack 4424
Developer, back-end 3086
Developer, back-end;Developer, front-end;Developer, full-stack 2227
Developer, back-end;Developer, full-stack 1476
Developer, front-end 1401
Developer, mobile 1251
Developer, front-end;Developer, full-stack 830
Developer, back-end;Developer, desktop or enterprise applications;Developer, front-end;Developer, full-stack 813
Developer, back-end;Developer, desktop or enterprise applications 650
Developer, desktop or enterprise applications 606
Name: DevType, dtype: int64.
我想先对其进行分析,所以我想将这些标题汇总为 shorter/compact 名称,以便它们可以在图表上显示。然后,我希望以某种方式为该列分配数字(我想我会做 dfuk["#DevType"]=dfuk["DevType"].apply(lambda x: len(str(x).split(';' ))) ) 但它不是很好的解决方案。
请帮我找到解决这些问题的办法,提前谢谢你!
我建议:
- 完全删除“开发人员”一词,因为您在这里处理的域是毫无疑问的;
- 取每个单词的第一个字母('fs'为'full-stack')如果剩下的名字还是太长;
- 使用pd.Categorical为每种类型的开发分配一个编号。
请参阅此 post 最后一点: