首页 > 解决方案 > 获取熊猫数据框列中每个值的平均值

问题描述

我需要得到人力资源部门每个名字的平均工作年限。

我试过这个

work = df.loc[Employee['Department'] == 'HR', [{'Year' : 'mean'}],
                 ['FirstName', 'LastName', 'Year','Department']].drop_duplicates()

结果会是这样。平均值是任意的 我没有计算出来

   FirstName   LastName        aver_Year   Department   
0  Joe         Faulk           3.00        HR
1  Bryce       Benton          5.00        HR
2  Sarah       Cronin          2.00        HR
3  Gabriel     Montgomery      5.00        HR
4  Patricia    Genty-Andrade   6.00        HR

源数据框

FirstName   LastName        Year    Department
0   Joan    Hamilton-Huber  2       HR
1   Nathan  Brigmon         5       AustinCodeDepartment
2   Shawn   Lincoln         8       HR
3   Chris   Hernandez       2       AustinConventionCenter
4   John    Montgomery      7       AustinEnergy

标签: pythonpandasdataframe

解决方案


我会使用熊猫的功能分组:

df_gb = df.groupby(['Department','FirstName','LastName'])['Year'].mean().reset_index()
df_gb = df_gb[df_gb['Department']=='HR']

第一行给出了你想要的输出,按部门和名称的平均年数。然后您按人力资源部门过滤,并在 df_gb 数据帧上获得所需的数据。


推荐阅读