对数据帧进行分组,同时对某些列中的值求平均值

2024-05-29 04:52:54 发布

您现在位置:Python中文网/ 问答频道 /正文

Country                        Region           Hemisphere     Crop Years  \
18  United States Of America  Temperate  Northern hemisphere    Maize  2011   
22  United States Of America  Temperate  Northern hemisphere    Maize  2015   
7                  Argentina  Temperate  Southern hemisphere  Soybean  2010   
2                  Argentina  Temperate  Southern hemisphere  Soybean  2002   
5                  Argentina  Temperate  Southern hemisphere    Maize  2010   
11  United States Of America  Temperate  Northern hemisphere  Soybean  2010   

                    Actual                             Predicted      error  \
18                      8.856633                         8.709798   1.657906   
22                     10.277621                        10.646027   3.584548   
7                       2.903666                         2.528243  12.929296   
2                       2.604214                         2.308457  11.356881   
5                       7.787116                         6.045908  22.360111   
11                      2.898108                         2.833479   2.230042   

     f-score  
18  0.574185  
22  0.711111  
7   0.189560  
2   0.269231  
5   0.709091  
11  0.627960  

我想按作物汇总上面的示例数据帧,同时按年份平均值。我是这样做的:

df[['Actual', 'Predicted']].groupby(df[['Crop', 'Years']]).mean()

但是,我得到一个错误: ***ValueError:“”的Grouper不是一维的

如何解决这个问题?你知道吗


Tags: ofcropunitedstatesactualyearsargentinaamerica
1条回答
网友
1楼 · 发布于 2024-05-29 04:52:54

df[['Actual', 'Predicted']]只有两列(ActualPredicted),因此不能按CropYears对数据帧进行分组。你知道吗

我认为您首先需要按作物和年份分组,然后选择要计算平均值的列:

df.groupby(['Crop', 'Years'])[['Actual', 'Predicted']].mean()

相关问题 更多 >

    热门问题