在 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 最后一点: