Pandas groupby不能有效地应用

Pandas groupby不能有效地应用,pandas,dataframe,Pandas,Dataframe,以下是我正在处理的排名数据框架: Q6 Q17 1 Consultant NaN 2 Other NaN 3 Data Scientist Java 4 Not employed Python 5 Data Analyst SQL 我想: 计算“数据科学家”使用每种编程语言的次数,并将频率记录在“计数”列中 按降序排列计数 重置索引并将Q17重命名为语言 下面的代码不会对每种语言进

以下是我正在处理的排名数据框架:

               Q6     Q17
1      Consultant     NaN
2           Other     NaN
3  Data Scientist    Java
4    Not employed  Python
5    Data Analyst     SQL
我想:

  • 计算“数据科学家”使用每种编程语言的次数,并将频率记录在“计数”列中
  • 按降序排列计数
  • 重置索引并将Q17重命名为语言
  • 下面的代码不会对每种语言进行分组

    ranking_data = ranking_data[ranking_data.Q6 == 'Data Scientist']
    ranking_data_summary = ranking_data.copy().rename(columns = {'Q17':'Language'})
    ranking_data_summary['counts'] = ranking_data_summary.groupby('Language') 
    ['Language'].transform('count')
    ranking_data_summary.sort_values('counts',ascending = False, inplace = True)
    ranking_data_summary.reset_index(inplace = True)
    

    我做错了什么?

    让事情变得比需要的更复杂
    pd.crosstab(df.Q6,df.Q17)
    但是你可以做
    df.query('Q6==“数据科学家”).Q17.value_counts()
    这应该很好:
    ranking_Data[ranking_Data[“Q6”]=“Data Scientist”]。groupby(“G17”).count()
    @piRSquared我需要返回一个数据帧本身。。无论如何谢谢你!