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()
我在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()