使用 pandas groupby 根据另一个分类列对两个分类列应用 sum & count

Posted

技术标签:

【中文标题】使用 pandas groupby 根据另一个分类列对两个分类列应用 sum & count【英文标题】:using pandas groupby apply sum & count for two categorical columns based on another categorical column 【发布时间】:2021-12-12 19:18:14 【问题描述】:

应用 pandas groupby 或 pivot 函数根据另一个分类列为两个分类列应用聚合总和和计数

我需要的输出

组织名称结构技巧

capgemini team_lead python

capgemini 经理 pmp_certified

凯捷分析师 SQL

wipro team_lead python

wipro 经理 pmp_certified

wipro 分析师 SQL

infosys team_lead python

infosys 经理 pmp 认证

infosys 分析师 SQL

wipro 经理 pmp_certifed

wipro 分析师 SQL

wipro 分析师 SQL

wipro 分析师 SQL

wipro 分析师 SQL

capgemini team_lead python

【问题讨论】:

到目前为止你有什么尝试? 请以纯文本形式发布您的代码和数据示例 @Patrick,我试过这种方式 df.groupby(['structure','skills']).count()['organization name'] @RJAdriaansen 请在上面找到共享文本格式 【参考方案1】:
(
df.value_counts(['orgainzation_name','structure','skills'])
    .reset_index()
    .sort_values(['orgainzation_name','structure','skills'],ascending=[True,False,True])
)

您可以通过操作升序=来控制排序顺序。

【讨论】:

它应该像 wipro 分析师 SQL 5 ,capgemini 分析师 SQL 3 Infosys 分析师 SQL 2 一样按顺序排列 像分析师 SQL 应该按 [wipro,Capgemini,Infosys] 排序,team_lead python 按 [wipro,Capgemini,Infosys] 排序

以上是关于使用 pandas groupby 根据另一个分类列对两个分类列应用 sum & count的主要内容,如果未能解决你的问题,请参考以下文章

根据另一列计算 groupby 中的百分比

Pandas groupby 并将函数应用于数字列

pandas数据分组

Pandas groupby 对另一个数据框的意义

Pandas groupby并将函数应用于数字列

如何通过另一列的值 pandas 聚合 groupBy [重复]