Python 3D Dataframe:按列对值进行排序并获取平均值

Python 3D Dataframe: Sort Values by To Columns and get the mean

我在Whosebug上搜索了一段时间的解决方案,但还没有找到任何解决方案。所以希望你能帮助我:

我有一个包含 3 列的数据框 ['Attrition'、'JobRole'、'MonthlyIncome']

我根据不同的 Attrition (YES/NO) 值及其不同的 JobRoles 对数据框进行了排序,并想获得 MonthlyIncome

的平均值

例如 Attrition==Yes & JobRole=='Healthcare' -> 'MonthlyIncome'=x

avg_inc=df[['Attrition', 'MonthlyIncome', 'JobRole']].sort_values(['Attrition', 'JobRole'])
'''




  [1]: https://i.stack.imgur.com/8cvYy.png


I hope anyone can help me out. Thanks in advance

你想要类似的东西吗/ 数据

df=pd.DataFrame({'Attrition':['No','No','No','Yes','No','Yes','No','Yes'],'MonthlyIncome':[34567,7890,11234,56789,67890,65345,45782,97802], 'JobRole':['NS','DR','HD','DR','NS','HR','NS','HR']})

分组并计算平均值

df['Mean_MonthlyIncome']=df.groupby(['JobRole','Attrition'])['MonthlyIncome'].transform('mean')

或者

df.groupby(['JobRole','Attrition'])['MonthlyIncome'].mean()