我想获取多年来每个国家的平均GDP,列2006、2007 ... 2015包含GDP数量...我的代码返回一个错误,该错误意味着(axis = 1)至少需要1个变量,而1已分配给它...这很奇怪..我也觉得很奇怪,因为我们使用均值而不是avg,但无法找到groupby的avg函数

这是我的代码

    Top15 = ANSWER
    Top15 = Top15[['Country', '2006', '2007', '2008', '2009', '2010',
    '2011', '2012', '2013', '2014', '2015']]
    return Top15.groupby('Country').agg({"avg": np.mean(axis=1)})

最佳答案

在这里不需要GroupBy,因为您正在执行计算而不是聚合。您可以只使用pd.DataFrame.mean。这是一个最小的示例:

df = pd.DataFrame({'Country': ['UK', 'US'],
                   '2006': [1, 2],
                   '2007': [3, 4],
                   '2008': [5, 6]})

df['mean'] = df[['2006', '2007', '2008']].mean(1)

print(df)

   2006  2007  2008 Country  mean
0     1     3     5      UK   3.0
1     2     4     6      US   4.0

关于python - 数据框列的平均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51826751/

10-11 07:41